ExpressJs路由:找不到'_开始时间';请求对象中的属性

ExpressJs路由:找不到'_开始时间';请求对象中的属性,express,routing,Express,Routing,我需要检查请求发送到服务器的时间。为此,我研究了'req'对象。它有一个属性“\u startTime”,它给我发送请求的客户机的系统时间 我找不到此属性的正式文档。从我所看到的,不是请求对象上的Express set logger modulemorgan添加了它,但按照惯例,名称以下划线开头的属性是“私有的”:它们仅供内部使用,不应依赖 然而,自己添加这样的属性并不困难。在Express中,最合乎逻辑的方法是使用中间件功能: app.use((req, res, next) => {

我需要检查请求发送到服务器的时间。为此,我研究了'req'对象。它有一个属性“\u startTime”,它给我发送请求的客户机的系统时间


我找不到此属性的正式文档。

从我所看到的,不是请求对象上的Express set

logger module
morgan
添加了它,但按照惯例,名称以下划线开头的属性是“私有的”:它们仅供内部使用,不应依赖

然而,自己添加这样的属性并不困难。在Express中,最合乎逻辑的方法是使用中间件功能:

app.use((req, res, next) => {
  req._requestStarted = new Date();
  next();
});
因为设置此属性的是您自己的应用程序代码,所以您可以始终依赖现有的应用程序代码(而不是
\u startTime
,因为它是供
morgan
内部使用的,所以将来可能会被删除或重命名)

吹毛求疵:此值不反映发送请求的客户端的系统时间,而是服务器上接收请求的时间。在HTTP中,客户端通常不随请求发送自己的本地时间