【发布时间】:2014-07-17 05:04:36
【问题描述】:
我不得不承认,我很惊讶我没有通过 Google 找到任何有关这方面的信息。可能是我看的不够仔细。
基本上,我想查找有关我的 Express.js 应用程序正在使用的各种中间件功能的信息,最好是通过类似bash 的控制台。记录express() 函数本身不会记录子函数,例如trace() 或mkcol()。这些显示为express 函数对象的属性,例如trace: [Function] 或emit: [Function: emit];它们的主体和当前内容未显示。我可以通过例如记录功能体express().once.toString(),如多个答案中所述,包括this one。
这仅显示函数主体在我调用它之前(当我添加所有中间件时),而不是现在所说的主体。它没有显示我使用 Express use() 的中间件。
如何像现在一样在控制台中显示这些中间件功能?例如,如果我定义:
express = require('express');
server = express();
flash = require('connect-flash');
bodyParser = require('body-parser');
server.use(flash());
server.use(bodyParser.json());
server.use(bodyParser.urlencoded());
我如何看到 Express 现在使用 flash 中间件,另外,我如何看到 Express 现在使用由 connect-flash 模块导出的任何函数组成的中间件?如果其中一个或两个都不适用于“无论 bodyParser.json()/bodyParser.urlencoded() 函数是什么”,还有另一种记录方式吗?正如我所说,仅仅console.log Express 的use() 函数是不够的,或者,如果是,我无法找到诀窍。有上百万种方法可以定义中间件函数 & use()d,所以我不希望任何答案都适用于所有这些方法,但“尽可能多”会很好。
任何答案都应该适用于嵌套中间件,例如,Router 和 vhost 中间件可以而且通常可以用于 use() 其他中间件,实际上它们本身就是 Express 应用程序。
【问题讨论】:
-
哇,这个问题很快就被夸大了,我希望这个问题需要 2 秒才能问/回答。如果我完全混淆了你,我相信我会,请告诉我,我会让人给我一个 v8,然后为你澄清。
标签: javascript node.js express console connect