gpt4 book ai didi

javascript - 在控制台中显示附加的中间件功能

转载 作者:行者123 更新时间:2023-12-03 12:14:25 25 4
gpt4 key购买 nike

我必须承认,我很惊讶我没有通过 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,所以我不希望任何答案适用于所有人,但“尽可能多”会很好。

任何答案都应该适用于嵌套中间件,例如 Routervhost中间件可以而且通常可以这样做use()其他中间件,实际上是 Express 应用程序本身。

最佳答案

我所知道的最接近的是将 DEBUG 环境变量设置为 express:router 来运行您的应用程序,如下所示:DEBUG=express:router Node 服务器.js 并在使用应用程序时观察输出。您用作中间件的许多函数都将是匿名的,因为通常这样定义它们:app.get('/foo', function(req, res) {...}); 因此,express 甚至无法访问像该路由处理函数的人类可读名称这样基本的东西。

关于javascript - 在控制台中显示附加的中间件功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24795244/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com