【发布时间】:2019-04-10 14:17:58
【问题描述】:
我是 nodejs 和 npm 的新手。我的任务是在 npm express 的配置级别禁用 Etag 生成。我正在寻找答案
app.set('etag', false); // turn off 和在线类似。
在应用程序代码之外的意义上禁用,我必须在 npm 的快速配置中禁用。就像每个请求一样,我只需要从服务器获得响应为application/json,并且状态应该只是200。请帮助寻找解决方案。
示例代码:
const express = require('express')
const app = express()
const port = 9000
app.get('/proj/v1/test', (req, res) => {
// app.set('etag', false);
res.status(200).json({status: "OK"});
}
)
app.listen(port)
【问题讨论】:
-
配置 Express 的方式是通过应用程序代码。没有外部配置。
-
@robertklep:感谢您的回复。我对我的领导说了同样的话,但他说添加“app.set('etag','false');”在代码中是错误的。他告诉我停止在 express 的配置级别生成 Etag。就像不应该发生 Etag 生成一样。通过这种方式,HTTP 应该每次都向服务器寻求响应。
-
也许他的意思是在您放置它的代码位置(在请求处理程序中)添加
app.set('etag', false)是错误的?因为通常,它是在更高级别完成的(在您的示例代码中,beforeapp.get(...))。 -
实际上他的概念是他根本不希望我在代码中使用
app.set('etag', false)。相反,他告诉我对experess/npm进行配置更改。 package-lock.json 文件的“etag 和 express”键有什么我需要更改的吗? -
不,它看起来不像是在外部(从应用程序外部)配置 Express 的任何方式。此外,直接更改模块代码是维护的噩梦。我不明白他为什么不想使用正确的(记录在案的)禁用 etags 的方式。