lib/express.js
//require('express')本身就是一个函数
exports = module.exports = createApplication;
function createApplication() {
//express实例本身就是一个处理函数,所以可以传递给createHttpServer方法
var app = function(req, res, next) {
//内部采用它的handle方法处理请求
app.handle(req, res, next);
};
//混合了事件发射器,主要监听mount事件
mixin(app, EventEmitter.prototype, false);
//扩展了application.js中app对象
mixin(app, proto, false);
// 暴露出请求原型
app.request = Object.create(req, {
app: { configurable: true, enumerable: true, writable: true, value: app }
})
//宝露出响应原型
app.response = Object.create(res, {
app: { configurable: true, enumerable: true, writable: true, value: app }
})
//初始化方法
app.init();
return app;
}