Javascript Express source中的何处定义了router.get函数?

Javascript Express source中的何处定义了router.get函数?,javascript,node.js,express,Javascript,Node.js,Express,我想看看express.Router.get的实现 我查看了git上的express源代码,从项目的index.js开始 索引具有module.exports=require'./lib/express'。该文件具有var Router=require'./Router'。该位置是一个目录,因此我检查了该目录中的index.js文件。果不其然,它有: var proto = module.exports = function(options) { var opts = options ||

我想看看express.Router.get的实现

我查看了git上的express源代码,从项目的index.js开始

索引具有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“/”,..

浏览Express v4.15.2,我在Express/lib/application.js第468行中发现了以下内容

这个路由器来自express/lib/router/index.js

根据您所寻找的内容,您可以:

express/lib/router/layer.js::匹配行110,检查此路由是否匹配路径,如果匹配,则填充.params express/lib/router/route.js::调度行98,用于将请求、res调度到该路由
我不能推翻你的答案,因为我没有足够的声誉,但谢谢!
/**
 * Delegate `.VERB(...)` calls to `router.VERB(...)`.
 */

methods.forEach(function(method){
  app[method] = function(path){
    if (method === 'get' && arguments.length === 1) {
      // app.get(setting)
      return this.set(path);
    }

    this.lazyrouter();

    var route = this._router.route(path);
    route[method].apply(route, slice.call(arguments, 1));
    return this;
  };
});