路径正确仍提示Cannot find module,Node.js项目启动失败求助
解决Node.js "Cannot find module './router/playlist'" 报错
以下是针对该问题的具体排查和解决步骤:
1. 核对文件名与路径的精准匹配
- 检查
router目录下的文件名:必须是playlist.js(注意大小写)——虽然Windows系统不区分文件名大小写,但Node.js在部分场景(如Git同步后的文件、启用严格模式)下会严格校验。如果实际文件名是Playlist.js或playlist.ts这类不符的名称,就会触发找不到模块的错误。 - 确认路径层级:
app.js与router目录必须处于同一级目录(从报错路径可知,app.js在C:\Users\Alfi\Documents\Code\gigih\module2.3\下,router也必须位于该文件夹内),不能嵌套或放错位置。
2. 尝试添加完整文件扩展名
你当前的引入代码是require('./router/playlist'),Node.js会自动尝试.js、.json等扩展名,但偶尔会因配置问题解析失败。直接修改为require('./router/playlist.js'),再运行测试是否解决问题。
3. 确认文件真实存在
手动打开C:\Users\Alfi\Documents\Code\gigih\module2.3\router\文件夹,确认playlist.js确实存在,未被误删、移动,也未被系统隐藏。
4. 排除nodemon缓存干扰
有时nodemon会缓存旧的文件状态,先按Ctrl+C停止nodemon进程,再直接运行node app.js测试。如果手动运行正常,重启nodemon即可;若仍报错,继续执行前面的排查步骤。
5. 检查router目录的package.json配置
如果router文件夹内有独立的package.json,查看其中的main字段是否指向了不存在的文件——该字段配置错误会导致Node.js无法找到正确的模块入口。
内容的提问来源于stack exchange,提问作者Alfisahrul
相关产品推荐
相关产品推荐

