express框架封装前戏
一.开启一文件,这里暂且命名为aexpressclass.js
- 声明一个app类,用来模仿http模块中的回调函数
//var route = require('http-route'); var url = require('url'); //var app = new route(); var G = {}; var app = function(req,res) { var myurl = url.parse(req.url); var pathname = myurl.pathname;
//为了迎合解析后的路径带有'/'的情形,索性给参数加上'/' if(!pathname.endsWith('/')) { pathname=pathname+"/"; } if(G[pathname]) { G[pathname](req,res); } };
- 定义app对象的get方法 //为了迎合解析后的路径带有'/'的情形,索性给参数加上'/'
app.get=function(string,callback) {
if (!string.endsWith("/")) {
string = string + "/"; } if(!string.startsWith("/")) { string = "/"+string; } G[string]=callback; };
- 实现访问相关路径的功能
app.get('login',function (req,res) { console.log("login"+req); res.end('login'); }); app.get('register',function (req,res) { console.log('register'); res.end('register'); });
module.exports = app;
二.再声明一个文件(暂且命名为expserver.js)
- 调用
var app = require('./aexpressclass'); var http = require('http'); http.createServer(app).listen(3000);