我最近在學習express.js。下面的代碼是從express.js的路由器lib複製的。實際返回的是什麼?
var proto = module.exports = function(options) {
options = options || {};
function router(req, res, next) {
router.handle(req, res, next);
}
// mixin Router class functions
router.__proto__ = proto;
router.params = {};
router._params = [];
router.caseSensitive = options.caseSensitive;
router.strict = options.strict;
router.stack = [];
return router;
};
如果我叫
var Router = require('./router');
var _router = new Router(...);
什麼是_router
是什麼返回我的問題嗎?它是功能router(req, res, next)
?如果是,我可以撥打_router(req, res, next);
嗎?
如果我錯了,有人可以請解釋代碼做什麼?
如果是的話,爲什麼他們不只是不喜歡它:
var proto = module.exports = function(options) {
options = options || {};
var router = {};
// mixin Router class functions
router.__proto__ = proto;
router.params = {};
router._params = [];
router.caseSensitive = options.caseSensitive;
router.strict = options.strict;
router.stack = [];
return router;
};
是的,是的。雖然修改函數的原型有點奇怪... – Bergi
我不明白他們爲什麼會在這裏返回路由器功能。爲什麼要這樣做,就像 – Benson
*爲什麼*,請問快遞的開發商。 – Bergi