码迷,mamicode.com
首页 > 其他好文 > 详细

类似express的路由封装方式

时间:2019-01-11 19:59:49      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:ext   实现   框架   元素   back   call   name   pre   span   

1.原理

主要过程涉及三个元素的定义,如下:

//用于承载一系列方法的对象
var funObj = {};
//用于根据条件执行funObj中的方法
var app = function(){};
//用于向funObj添加方法
app.get = function(){};

2.具体实现

a. 路由框架的封装(route.js)

//==========================
//  类似express的路由框架
//==========================
var url = require(‘url‘);
//用于承载一系列方法的对象
var funObj = {};
//用于根据条件执行funObj中的方法
var app = function(req,res){
    var pathName = url.parse(req.url).pathname;
    if(funObj[pathName]){
        funObj[pathName](req,res);
    }else{
        res.writeHead(200,{‘content-type‘:‘text/html;charset=utf-8‘});
        res.end(‘无有效路由‘);
    }
};
//用于向funObj添加方法
app.get = function(string, callback){
    funObj[string] = callback;
};

module.exports = app;

b. 框架的调用和执行(index.js)

var http = require(‘http‘);
var app = require(‘./route‘);

app.get(‘/login‘,function(req,res){
    res.end(‘login‘);
})
app.get(‘/home‘,function(req,res){
    res.end(‘home‘);
})
http.createServer(app).listen(8090);

 

类似express的路由封装方式

标签:ext   实现   框架   元素   back   call   name   pre   span   

原文地址:https://www.cnblogs.com/zhcBlog/p/10256798.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!