私はexpress.Router.get
の実装を見たかったのです。Expressソースではrouter.get関数が定義されていますか?
プロジェクトのindex.js
から始めて、gitのexpressソースを見ました。
インデックスはmodule.exports = require('./lib/express')
です。そのファイルのファイル名はvar Router = require('./router')
です。その場所はディレクトリなので、そのディレクトリのindex.js
ファイルを確認しました。確かにそれがあります:
var proto = module.exports = function(options) {
var opts = options || {};
function router(req, res, next) {
router.handle(req, res, next);
}
// mixin Router class functions
setPrototypeOf(router, proto)
router.params = {};
router._params = [];
router.caseSensitive = opts.caseSensitive;
router.mergeParams = opts.mergeParams;
router.strict = opts.strict;
router.stack = [];
return router;
};
これは、ルータの機能を返すコードです。ただし、どこでも定義された.get
関数はありません。実際の関数はどこに定義されていますか?
注:get
の機能については、 router.get('/', ...)
のように指定してください。
に
req, res
を送出しexpress/lib/router/route.js::dispatch (line 98)
が、ありがとう! –@KingoftheBitあなたのためにupvoted – Vaiden