express.js相當於過程式語言的main函式,是乙個入口,吐出express這個工廠函式。
從**組織來看,我們會發現乙個有趣的現象。引入語句總是位於上方,主程式夾在中間,主程式用到的一些輔助函式放在後面。在node.js,我們會頻繁看到es5的一些新方法,這也node.js的特色之一。
var connect = require('connect'), route = require('./router/route')
, router = require('./router')
, req = require('./request')
, res = require('./response')
, utils = connect.utils;
/** */
/** * expose mime.
*/exports.mime = connect.mime;
/** *
* @return
* @api public
*/}/** * expose connect.middleware as express.*
* for example `express.logger` etc.
*/for (var key in connect.middleware)
/** * error on createserver().
*/exports.createserver = function();
/** * expose the prototypes.
*/exports.request = req;
exports.response = res;
/** * expose constructors.
*/exports.route = route;
exports.router = router;
// error handler title
exports.errorhandler.title = 'express';
另乙個難點是__proto_的應用, 我們知道prototype是應用於建構函式,而__proto_則是應用於它的例項,簡單來說它相當於 obj.constructor.prototype。
Node框架Express原始碼
主檔案 function url.parse req.url,true let requestmethod req.method.tolowercase let i 0 function next err let layer 取出來的路徑 可能是正則型別 if err else else else ...
express框架 原始碼窺探
express是基於nodejs的乙個web封裝框架,致力於提供乙個迷你靈活的可擴充套件的web開發服務。nodejs原生提供了http模組,該模組就可以用來建立web伺服器。express的基本使用,express本身就是對原生http服務的業務處理封裝 其中express的使用中,方法1和2本質...
express原始碼剖析3
看下這個函式的的核心 就是 get file extension,ext為副檔名 var extension ext 0 ext ext store engine this.engines extension fn use的使用 var express require express functio...