在 Node.js 中找不到模块“express”或“cors”错误

目录

Cannot find module ‘express’ error in Node.js

  1. 在 Node.js 中找不到模块“EXPRESS”错误
  2. 在 Node.js 中找不到模块“CORS”错误

在 Node.js 中找不到模块 ‘express’ 错误

npm install express要解决“找不到模块‘express’”的错误,请在项目的根目录中运行命令来安装包。

如果您没有package.json文件,请通过运行创建一个
npm init -y

找不到模块快递

如果您遇到错误“找不到模块‘cors’”,请单击以下副标题。

express当我们尝试导入包而不安装它时会发生错误。

索引.js
// ⛔️ Cannot find module 'express' // Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'express' // imported from bobbyhadz-js/index.js import express from 'express'; const app = express(); const port = 3445; app.get('/', (req, res) => { res.send('Hello World!'); }); app.listen(port, () => { console.log(`Example app listening on port ${port}`); });

express通过在项目的根目录(包含文件的目录)中打开终端package.json并运行以下命令来确保已安装:

npm install express # 👇️ only if you use TypeScript npm install @types/express --save-dev

如果您的项目没有package.json文件,则必须在项目的根目录中初始化一个文件。

# create package.json file (if you don't have one) npm init -y npm install express # 👇️ only if you use TypeScript npm install @types/express --save-dev

安装完成后express,错误应该已解决。

删除 node_modules 并重新安装你的包

如果错误没有解决,尝试删除你的node_modules目录和package-lock.json文件,重新运行
npm install并在必要时重新启动你的 IDE。

在项目的根目录中打开终端并运行以下命令。

bash如果您使用的是 macOS 或 Linux,请在或中发出以下命令zsh

# for macOS and Linux rm -rf node_modules rm -f package-lock.json rm -f yarn.lock # 👇️ clean npm cache npm cache clean --force # 👇️ install packages npm install

如果您使用的是 Windows,请在 CMD 中发出以下命令。

命令
# for Windows rd /s /q "node_modules" del package-lock.json del -f yarn.lock # 👇️ clean npm cache npm cache clean --force # 👇️ install packages npm install

如果错误仍然存​​在,请确保重新启动 IDE 。VSCode 经常出现故障并需要重启。

如果在运行这些命令时遇到任何错误,请尝试
从项目的根目录中手动删除
node_modules和文件。package-lock.json

如果出现权限错误,请尝试使用 重新运行命令sudo,例如
sudo npm install

现在您应该可以导入和使用该express包了。

索引.js
import express from 'express'; const app = express(); const port = 3445; app.get('/', (req, res) => { res.send('Hello World!'); }); app.listen(port, () => { console.log(`Example app listening on port ${port}`); });

检查 express 是否包含在你的依赖项中

如果错误仍然存​​在,请打开您的package.json文件并确保它包含对象express中的包dependencies

包.json
{ // .... "dependencies": { "express": "^4.17.3", // .... }, }
确保将快递包裹添加到您的dependencies 对象中,而不是添加到devDependencies.

您可以尝试手动添加该行并重新运行npm install

npm install

在 Node.js 中找不到模块 ‘cors’ 错误

要解决错误“找不到模块‘cors’”,请确保
cors通过在项目的根目录中打开终端并运行以下命令来安装软件包:npm i cors

如果您使用 TypeScript,请通过运行安装 typings
npm i -D @types/cors

找不到模块 cors

下面是错误如何发生的示例。

索引.js
// ⛔️ Error Cannot find module 'cors' // [ERR_MODULE_NOT_FOUND]: Cannot find package 'cors' // imported from bobbyhadz-js/index.js const express = require('express'); const cors = require('cors'); const app = express(); app.use(cors()); app.get('/products/:id', function (req, res, next) { res.json({msg: 'This is CORS-enabled for all origins!'}); }); app.listen(1234, function () { console.log('CORS-enabled web server listening on port 1234'); });

在项目的根目录(文件所在的位置)中打开终端package.json
并运行以下命令:

npm install cors # 👇️ only if you use TypeScript npm install --save-dev @types/cors

这会将cors包添加到项目的依赖项中。

删除您的 node_modules 并重新安装您的依赖项

如果错误未解决,请尝试删除您的node_modules
package-lock.json(不是package.json)文件,重新运行npm install并重新启动您的 IDE。

bash如果您使用的是 macOS 或 Linux,请在或中发出以下命令zsh

# for macOS and Linux rm -rf node_modules rm -f package-lock.json rm -f yarn.lock # 👇️ clean npm cache npm cache clean --force # 👇️ install packages npm install

如果您使用的是 Windows,请在 CMD 中发出以下命令。

命令
# for Windows rd /s /q "node_modules" del package-lock.json del -f yarn.lock # 👇️ clean npm cache npm cache clean --force # 👇️ install packages npm install
如果错误仍然存​​在,请确保重新启动 IDE 和开发服务器。VSCode 经常出现故障,有时重启可以解决问题。

如果您使用 TypeScript 并收到错误“找不到模块‘cors’或其相应的类型声明”,请运行npm install --save-dev @types/cors并确保该types数组包含字符串node

tsconfig.json文件
{ "compilerOptions": { "types": [ "node" ] }, }
这应该可以修复错误,现在 TypeScript 应该能够找到模块的类型定义cors

验证cors包在你的dependencies对象中

如果您仍然收到“找不到模块‘cors’”错误,请打开您的package.json
文件并确保它包含对象
cors中的包dependencies

包.json
{ // ... rest "dependencies": { "cors": "^2.8.5", }, "devDependencies": { // 👇️ only if you use TypeScript "@types/cors": "^2.8.12", } }

您可以尝试手动添加该行并重新运行npm install

npm install

或者安装最新版本的包:

npm install cors@latest npm install --save-dev @types/cors@latest