第4天 路由——路由功能的实现
首先要在App.js的构造函数内,加入 this._route_post_handles = {}和 this._route_get_handles = {}用于储存路由处理器。
路由功能的实现
首先要在App.js的构造函数内,加入 this._route_post_handles = {}
和 this._route_get_handles = {}
用于储存路由处理器。
然后,我们在App.js的构造器内的handle函数,做一些改动。加入 handle = self._route_get_handles[req.url]
和 handle = self._route_get_handles[req.url]
代码 ,最后 handle(req,res) 执行就可以了。
而App.prototype.get / App.prototype.post 的代码也需要修改,修改十分简单,只要把handle注入到 self._route_get_handles 或 self._route_post_handles 里即可。
App.prototype.get = function(route,handle){ this._route_get_handles[route] = handle; } App.prototype.post = function(route,handle){ this._route_post_handles[route] = handle; }
在编码过程中,有一处BUG,值得注意,就是在App.js构造函数的顶端代码:
function App(){ function handle(req,res){ if(middleList.length === 0){ }else{ .....
这里 if(middleList.length === 0){
是个BUG,因为如果我们没有加入static或其他插件时,GET/POST路由处理器就不会被执行。所以删除了上面这段代码。这个代码的存在,在早期可能有用,但随着项目的迭代, 会修补很多历史性代码。
下一节,列出更改后的App.js代码。
很赞哦! ( 0
)
相关文章
- nodeJs基础教程系列(4)——CommonJS规范
- nodeJs基础教程系列(7)——generator
- [转]让你的 Node.js 应用跑得更快的 10 个技巧
- Node.js API实例——Node.js 控制台
- Node.js 入门
- nodeJs基础教程系列(3)——建立githubs项目
- nodeJs基础教程系列(1)——安装Node.js
- nodeJs基础教程系列(6)——Promise 模式的Q库
- Atom 更为先进的文本代码编辑器 - 由 Github 打造的下一代编程开发利器
- bootstrap 3.3 模态框垂直居中问题
- js字符串操作
- js鼠标滑轮滚动事件绑定(兼容主流浏览器)