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("嘿~人参娃哟~,嘿真机灵","人参王国片头曲");
},);
输出结果:
这是login方法用到的参数req的值:嘿~人参娃哟~,嘿真机灵
this is a module for login
- 进化版本(新建一个文件夹logic,新起一个文件myserver.js,根据需要,总之新文件一定要有)
var http =require('http');
var app = require('./logic/apphandler');
http.createServer(app).listen();//一旦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(,{'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;
输出结果:


node.js中允许的app对象声明方式的更多相关文章
- JS中遍历数组、对象的方式
		1.标准的for循环遍历数组 //不打印自定义属性和继承属性 var array = [1,2,3]; for (var i = 0; i < array.length; i++) { cons ... 
- 如何在Node.js中合并两个复杂对象
		通常情况下,在Node.js中我们可以通过underscore的extend或者lodash的merge来合并两个对象,但是对于像下面这种复杂的对象,要如何来应对呢? 例如我有以下两个object: ... 
- Node.js中的Session,不要觉得简单哦。
		本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博客地址为http://www.cnblogs.com/jasonnode/ .学习网站上有对应 ... 
- node.js中express模块创建服务器和http模块客户端发请求
		首先下载express模块,命令行输入 npm install express 1.node.js中express模块创建服务端 在js代码同文件位置新建一个文件夹(www_root),里面存放网页文 ... 
- Node.js中环境变量process.env详解
		Node.js中环境变量process.env详解process | Node.js API 文档http://nodejs.cn/api/process.html官方解释:process 对象是一个 ... 
- 在Node.js中操作文件系统(一)
		在Node.js中操作文件系统 在Node.js中,使用fs模块来实现所有有关文件及目录的创建,写入及删除操作.在fs模块中,所有对文件及目录的操作都可以使用同步与异步这两种方法.比如在执行读文件操作 ... 
- 深入理解Node.js中的垃圾回收和内存泄漏的捕获
		深入理解Node.js中的垃圾回收和内存泄漏的捕获 文章来自:http://wwsun.github.io/posts/understanding-nodejs-gc.html Jan 5, 2016 ... 
- node.js中的url.parse方法使用说明
		node.js中的url.parse方法使用说明:https://blog.csdn.net/swimming_in_it_/article/details/77439975 版权声明:本文为博主原创 ... 
- node.js中模块和包
		node.js中模块和包 什么是模块 如何创建并加载模块 1. 创建模块 2. 单次加载 3. 覆盖 exports 如何创建一个包 1. 作为文件夹的模块 2. package.json 如何使用包 ... 
随机推荐
- 乐字节Java反射之二:实例化对象、接口与父类、修饰符和属性
			大家好,小乐继续接着上集:乐字节Java反射之一:反射概念与获取反射源头Class 这次是之二:实例化对象.接口与父类.修饰符和属性 一:实例化对象 之前我们讲解过创建对象的方式,有new .克隆.反 ... 
- Centos中阿里云yum源配置
			centos中阿里云yum源配置 1.首先备份系统自带yum源配置文件/etc/yum.repos.d/CentOS-Base.repo mv /etc/yum.repos.d/CentOS-Base ... 
- 25.Spark下载源码和安装和使用
			安装scala 上传安装包 解压 配置scala相关的环境变量 export SCALA_HOME=/opt/modules/scala-2.11.4 export PATH=$PATH:$SCALA ... 
- Centos7安装vim8.0 + YouCompleteMe
			更新yum sudo yum upgrade sduo yum update 下载git sudo yum install git 升级vim以及gcc 升级gcc sudo yum install ... 
- MongoDB  范围查询
			查询价格在200-9000 $gt 大于 $lt 小于 //查询价格200-9000范围的数据 db.prodgory.find({"}}) 查询给定范围数据 $ ... 
- chrome中显示DNS_PROBE_FINISHED_NO_INTERNET无法上网,但是IE可以上
			以管理员方式运行cmd,执行如下命令 ipconfig /release ipconfig /all ipconfig /flushdns ipconfig /renew netsh int ip s ... 
- 网络模式: host-only & NAT & 桥接
			基本上,Host-only相当于虚拟机和宿主机通过交叉线相连:NAT,宿主机相当于虚拟机的路由器:桥接,相当于把宿主机和虚拟机同时接到交换机上,然后交换机接到外网. 连接性上说,可参考下表: 连接 宿 ... 
- Creating a ModelForm without either the 'fields' attribute or the 'exclude' attribute is prohibited; form ResumeForm needs updating.
			django 报错 django.core.exceptions.ImproperlyConfigured: Creating a ModelForm without either the 'fiel ... 
- 用户注册&单点登录
			package com.tttttt.portal.controller; import java.util.HashMap; import java.util.Map; import javax.s ... 
- AI 公司与比赛
			科大讯飞 网站:https://www.iflytek.com/ 比赛:http://challenge.xfyun.cn/2019/ AI 大学:https://www.aidaxue.com/ 华 ... 
