Express 为什么安装快速头盔后x-POWER-by标题会显示?

Express 为什么安装快速头盔后x-POWER-by标题会显示?,express,helmet.js,Express,Helmet.js,我有一个使用webpack在8080端口上运行的Express服务器。我按照软件包文档中的说明进行了安装 const express = require('express') const helmet = require('helmet') const app = express() app.use(helmet()) 然而,当我npm启动时我仍然在localhost中看到x-powered-by:Express标题,并且没有任何dns预取、xss或其他应该启用的标题。我重新启动了服务器好几次

我有一个使用webpack在8080端口上运行的Express服务器。我按照软件包文档中的说明进行了安装

const express = require('express')
const helmet = require('helmet')
const app = express()
app.use(helmet())

然而,当我
npm启动时
我仍然在
localhost
中看到
x-powered-by:Express
标题,并且没有任何dns预取、xss或其他应该启用的标题。我重新启动了服务器好几次,删除了我的构建文件夹,这样它就不会被缓存,我不知道为什么它不能工作。任何想法或建议都将不胜感激

您需要像这样显式地调用中间件。
const hidePoweredBy=require('hide-powered-by') app.use(hidePoweredBy())

也可以试试


app.disable('x-powered-by')

谢谢!但是这一行不是在调用中间件app.use(helmet())?您在文档链接的何处看到
require('hide-powered-by')
?另外,我的问题不仅仅是x-powered-by,我没有看到头盔应该添加的任何标题。。。这就像头盔根本没有启用一样。一旦你点击我共享的链接,导航到页面,搜索头盔使用情况,你就会找到头盔带来的所有中间件,但看起来你需要显式配置它们。感谢您在此页面上可以看到默认情况下启用了
hidePoweredBy
(和其他许多功能一样)。由于其他原因,而不是因为这个原因,OP不起作用。根据te文档,同意它应该起作用,请尝试应用程序。使用(helmet.noCache())您也可以尝试在不使用webpack的情况下使用express,并检查是否起作用,可能是webpack配置问题。ThanksMething不能正确安装,或者您没有运行您认为是的文件,因为我要看到正确的效果(如
x-powered-by
头被删除)所需的全部是
app.use(helmet())
。所以,你给我们看的代码是正确的。你的项目中还有一些地方不对劲。