第4天 路由——更新后的代码
下面是App.js 更新后的代码,会在更改后的代码后加上 // 更改后的代码 字样。
更新后的代码
下面是App.js
更新后的代码,会在更改后的代码后加上 // 更改后的代码
字样。
var http = require("http"); module.exports = App; function App(){ // 插件有序列表 var middleList = this._middleList = []; var self = this; this._route_post_handles = {} // 更改后的代码 this._route_get_handles = {} // 更改后的代码 // request事件响应函数 function handle(req,res){ // 循环执行插件 var middleIndex = 0; // 插件索引 execMiddle(); // 执行这个函数时,会自动执行下一个middle插件。 // 至于这个函数的执行,是由插件所控制。 function next(){ middleIndex += 1; execMiddle(); } // 执行插件函数 function execMiddle(){ var middle = middleList[middleIndex]; if(middle){ middle(req,res,next); }else{ var handle; // 更改后的代码 // 判断是GET还是POST方法 switch(req.method){ case "GET": handle = self._route_get_handles[req.url] // 更改后的代码 break; case "POST": handle = self._route_post_handles[req.url] // 更改后的代码 break; } if(handle){ handle(req,res); } } } } this._server = http.createServer(handle); } // 加入功能栈 App.prototype.use = function(middle){ this._middleList.push(middle); } App.prototype.get = function(route,handle){ // 更改后的代码 this._route_get_handles[route] = handle; } App.prototype.post = function(route,handle){ // 更改后的代码 this._route_post_handles[route] = handle; } // 监听端口 App.prototype.listen = function(){ this._server.listen.apply(this._server,arguments); }
下一节,要做个路由的例子。
很赞哦! ( 0
)
相关文章
- AIGC之 funtion-calling
- Nodejs 内容管理系统 DoraCMS 2.1.8 发布
- Nodejs 内容管理系统 DoraCMS-SQL 发布,基于 nodejs + mysql
- Nodejs 内容管理系统 DoraCMS 2.1.7 发布
- 什么是Upstream?
- Nodejs 内容管理系统 DoraCMS 2.1.6 发布
- Visual Studio Online 更新!更好支持Docker、Python、Go、C++
- 利用 html2canvas 生成文章缩略图
- 纪录片《穹顶之下》全集103分钟1080P高清完整视频
- DoraCMS v2.1.5 版本更新
- DoraCMS v2.1.2 Docker 版本(生产环境)
- Nodejs 内容管理系统 DoraCMS 2.1.4 发布