Node启动服务器遇MODULE_NOT_FOUND错误,寻求解决方案
解决Node.js MODULE_NOT_FOUND错误:找不到app.js文件
从你给出的错误信息和配置文件来看,问题的根源很明确——路径拼写错误,配合几个小检查就能快速搞定。
先看你的核心错误提示:
Error: Cannot find module 'D:\DATA\Learning\Creations\WEB\website\tabs tracker\Vue-and-Express.JS\server\scr\app.js'
注意到路径里的scr了吗?这应该是src(项目源码目录的标准命名,是source的缩写)的笔误,而你package.json里的启动脚本正好写错了这个路径。
具体修复步骤:
- 修正package.json的启动脚本
打开你的package.json,找到scripts里的start命令,把scr/app.js改成src/app.js:
"scripts": { "start": "node ./node_modules/nodemon/bin/nodemon.js src/app.js --exec \"npm run lint && node\"", "lint": "./node_modules/.bin/eslint **/*.js" }
如果你的nodemon已经全局安装,还可以把这个脚本简化得更干净:
"start": "nodemon src/app.js --exec \"npm run lint && node\""
- 确认目录结构匹配
检查你的项目文件结构,确保app.js确实在server/src/目录下,对应你代码里的依赖路径,应该是这样:
server/ ├── src/ │ ├── app.js │ ├── models/ # 对应你代码里的require('./models') │ ├── routes/ # 对应require('./routes')(app) │ └── config/ # 对应require('./config/config') ├── package.json └── node_modules/
- 确保在正确目录运行命令
打开终端后,一定要先进入server文件夹,再执行npm start,否则Node会因为相对路径错误找不到目标文件。
额外小提示:
你的package.json里main字段写的是server.js,但实际入口是src/app.js,虽然启动脚本已经指定了入口,不会影响运行,但为了配置一致性,可以把main改成src/app.js,这样后续如果有工具依赖这个字段时不会出问题。
内容的提问来源于stack exchange,提问作者Shadow
相关产品推荐
相关产品推荐

