我有一个Electron项目,我安装了Helmet,我试图使用它与express,但我得到错误“Helmet不是一个函数”,在构建过程中。另外,在VScode中,我示例化的Helmet是蓝色的,而不是像其他示例化的变量那样是黄色的。
其他依赖项(如Morgan和Cors)没有触发此错误:
const express = require('express')
const cors = require('cors')
const helmet = require('helmet')
const morgan = require('morgan')
const app = express();
app.use(cors({ origin: process.env.CORS_ORIGIN || '*' }));
//error here
app.use(helmet());
app.use(express.json());
app.use(morgan('dev'));
我的package.json中的依赖项:
"dependencies": {
"@mdi/font": "5.9.55",
"core-js": "^3.8.3",
"cors": "^2.8.5",
"dotenv": "^16.0.3",
"express": "^4.18.2",
"helmet": "^6.0.0",
"morgan": "^1.10.0",
"roboto-fontface": "*",
"socket.io": "^4.5.3",
"vue": "^3.2.13",
"vuetify": "^3.0.0-beta.0",
"webfontloader": "^1.0.0",
"ws": "^8.11.0"
},
1条答案
按热度按时间vohkndzv1#
这是一个非常常见的问题,通常是由于实际安装或版本。
最好的办法是去你的 shell 和类型
npm helmet uninstall
卸载任何版本的 Helm 有。这可能需要一些时间。接下来,返回到shell并使用
cd [name of folder]
输入包含所有文件的文件夹。然后,一旦你在文件夹中的所有文件,键入npm i helmet
安装在正确的地方与正确的版本。希望这对你有帮助。另一种方法是找到helm.exe在计算机上的安装位置。打开它。你可能会收到一条信息说它不安全。运行它并按照下面的说明进行操作。