如何解决Node.js运行时‘Cannot find module’模块找不到错误
修复Node.js项目"Cannot find module"错误
错误信息
PS C:\Users\rodri\nodejs_paypal> npm run dev nodejs_paypal@1.0.0 dev babel-node src/index.js node:internal/modules/cjs/loader:936 throw err; ^ Error: Cannot find module 'C:\Users\rodri\nodejs_paypal\src\index.js' at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15) at Function.Module._load (node:internal/modules/cjs/loader:778:27) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12) at Object.<anonymous> (C:\Users\rodri\nodejs_paypal\node_modules\@babel\node\lib\_babel-node.js:176:21) at Module._compile (node:internal/modules/loader:981:32) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10) at Module.load (node:internal/modules/cjs/loader:981:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12) at node:internal/main/run_main_module:17:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } PS C:\Users\rodri\nodejs_paypal>
项目文件详情
index.js
import express from 'express'
.babelrc
{ "presets": [ "@babel/preset-env" ] }
package.json
{ "name": "nodejs_paypal", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "dev": "babel-node src/index.js" }, "keywords": [], "author": "", "license": "ISC", "dependencies": { "axios": "^0.27.2", "cors": "^2.8.5", "express": "^4.18.1", "morgan": "^1.10.0" }, "devDependencies": { "@babel/cli": "^7.18.9", "@babel/core": "^7.18.9", "@babel/node": "^7.18.9", "@babel/preset-env": "^7.18.9", "babel-install": "2.1.0" } }
文件实际位置
index.js直接存放在项目根目录下,不存在src子文件夹。
已尝试操作
- 核对错误信息中的路径与项目实际路径,二者一致,但问题未解决。
修复方案
核心问题是脚本命令指定的文件路径与实际文件位置不匹配,可通过以下两种方式解决:
方式1:修改脚本路径
调整package.json中的dev命令,直接指向根目录的index.js:
"scripts": { "dev": "babel-node index.js" }
方式2:调整文件结构
在项目根目录创建src文件夹,将根目录下的index.js移动到src文件夹内,保持原脚本命令不变。
额外排查点
- 确认文件名拼写无误(注意大小写,Windows系统虽不区分大小写,但部分工具可能存在识别偏差)
- 若修改后仍报错,可删除
node_modules文件夹和package-lock.json文件,执行npm install重新安装依赖后再运行项目。
内容的提问来源于stack exchange,提问作者pomoworko.com
相关产品推荐
相关产品推荐

