摘要: 本文档是基于express 3.4.6 的在我们的代码中,渲染模板大致是这样写的exports.index = function(req, res){ res.render('index', { title: 'Express' });};这个req,res 函数其实是经过了中间件middleware.js 处理后的,我们在前面提到过。req,res的原型分别为app.request 和app.response req.__proto__ = app.request; res.__proto__ = app.response;而app.request 和app. 阅读全文
posted @ 2013-12-19 15:55 yupeng 阅读(8415) 评论(0) 推荐(2) 编辑
摘要: 本文档是基于express3.4.6express 的路由是自己去实现的,没有使用connect中的路由中间件模块。1、在如何创建一个app那篇中,我们提到了路由, //router //路由 this._router = new Router(this); this.routes = this._router.map; this.__defineGetter__('router', function(){ this._usedRouter = true; this._router.caseSensitive = this.enabled('case sensitive 阅读全文
posted @ 2013-12-19 15:18 yupeng 阅读(7837) 评论(0) 推荐(3) 编辑
摘要: 本文档是基于express 3.4.6 的在上篇中我们提到了中间件,这篇主要解释这个模块,middleware.js 为:var utils = require('./utils');/** * Initialization middleware, exposing the * request and response to eachother, as well * as defaulting the X-Powered-By header field. * * @param {Function} app * @return {Function} * @api private 阅读全文
posted @ 2013-12-19 10:51 yupeng 阅读(3351) 评论(0) 推荐(1) 编辑
摘要: 本文是基于express 3.4.6 的1.在我们的app.js 文件里面有这么几行 http.createServer(app).listen(app.get('port'), function(){ console.log('Express server listening on port ' + app.get('port'));});这个其实是调用http模块 的 createServer 函数创建一个服务,然后监听端口的。2. 我们再去看看express 的入口文件 /** * Module dependencies. */var co 阅读全文
posted @ 2013-12-19 10:42 yupeng 阅读(5226) 评论(0) 推荐(1) 编辑
摘要: 本文是基于express3.4.6的。1.express 代码结构为: bin/express 是在命令行下的生成express 框架目录文件用的lib/express 是框架的入口文件lib/router 是路由模块,主要是进行路由分发,比对,执行callbacklib/middleware 是中间件模块,主要是对response,request进行改写lib/request 是请求lib/response 是响应lib/utils 是工具集函数,是对connect模块的一个补充,比如地址处理正则lib/view 是处理视图2.express 框架调用关系图: 阅读全文
posted @ 2013-12-19 09:33 yupeng 阅读(5047) 评论(2) 推荐(1) 编辑