zoukankan      html  css  js  c++  java
  • node.js中允许的app对象声明方式

    • 伪对象形式
    app = function () {
        console.log("我是一个初始化的app对象");
    };
    
    app.get=function () {
       console.log('这是一个app的get方法');
    };
    
    app.post = function () {
       console.log('这是一个post方法');
    };
    
    app();
    app.post();

    输出结果

    我是一个初始化的app对象
    这是一个post方法

    • 一个增强的伪对象
    G={};
    var app = function (req,res) {
        if (G['login'])
        {
            G['login'](req,res);
        }
    };
    
    app.get=function (urlinstring,callback) {
       G[urlinstring]=callback;
    };
    app.get('login',function (req,res) {
      //注意,这里的req和res并非http server中的请求和相应对应的req和res console.log(
    "这是login方法用到的参数req的值:"+req); console.log('this is a module for login'); }); setTimeout(function (){ app("嘿~人参娃哟~,嘿真机灵","人参王国片头曲"); },3000);

    输出结果:

    这是login方法用到的参数req的值:嘿~人参娃哟~,嘿真机灵
    this is a module for login

    • 进化版本(新建一个文件夹logic,新起一个文件myserver.js,根据需要,总之新文件一定要有)
    var http =require('http');
    var app = require('./logic/apphandler');
    http.createServer(app).listen(8190);//一旦app对象作为http createServer方法的参数req和res就分别代表http的请求和响应
    • 再起一个文件(apphandler.js)
    G={};
    var url= require('url');
    var app = function (req,res) {
        var urlobj = url.parse(req.url);
        var pathname = urlobj.pathname;
        res.writeHead(200,{'Content-Type':'text/html;charset=UTF-8'});
        console.log("pathname:  "+pathname);
        if (G[pathname])
        {
            G[pathname](req,res);
        }
        else
        {
            G['/'](req,res);
        }
    };
    
    app.get=function (urlinstring,callback) {
       G[urlinstring]=callback;
    };
    app.get('/login',function (req,res) {
        res.write("这是login方法用到的参数req的值:"+req);
        res.end('this is a module for login');
    });
    app.get('/',function (req,res) {
        var pathname=url.parse(req.url).pathname;
        res.end("这是首页");
        //console.log('this is a module for login');
    });
    /*
    setTimeout(function (){
        app("嘿~人参娃哟~,嘿真机灵","人参王国片头曲");
    },3000);*/
    module.exports=app;

    输出结果:

     

  • 相关阅读:
    Java Web 笔记(3)
    Java Web笔记(2)
    AndroidSystemDebug官方指导
    Android系统研究资料收集---站在前人的肩膀上
    算法--求出子序列中最大的和
    【CTS】几个serialno失败项
    GMS测试常用命令CTS&GTS&VTS
    cts-verifier测试流程
    通过例子手撕架构模式
    从0系统学Android--3.2四种基本布局
  • 原文地址:https://www.cnblogs.com/saintdingspage/p/11914442.html
Copyright © 2011-2022 走看看