Node.js应用启动报错:找不到'../../temp'模块,求解决方案
解决Node.js启动时的
MODULE_NOT_FOUND错误 从你贴出的错误日志能直接定位问题核心:你的代码在resolvers/post.js第2行尝试引入../../temp模块,但Node.js找不到这个目标模块。下面是一步步的排查和解决思路:
1. 先核对文件路径是否正确
先理清楚文件层级关系:
post.js在C:\Users\vinod\server\resolvers\目录下,你写的../../temp意味着要找的是C:\Users\vinod\目录下的temp(从resolvers往上跳两级:第一级到server根目录,第二级到vinod目录)。- 先确认你的
temp模块实际位置:- 如果
temp就在server根目录下(也就是C:\Users\vinod\server\temp),那正确的引入路径应该是../temp而不是../../temp。 - 可以打开命令行,切换到
resolvers目录,执行dir ../../(Windows命令)来查看上级目录是否存在temp文件/文件夹。
- 如果
2. 确认目标模块是合法的Node模块
就算路径对了,Node.js也会因为以下情况抛出找不到模块的错误:
temp是个空文件夹,没有index.js/index.json作为入口文件;temp文件夹里没有package.json来指定main字段;- 你要引入的
temp文件本身不存在(比如拼写错误、文件被误删)。
3. 检查大小写是否匹配
虽然Windows文件系统不区分大小写,但Node.js的require函数是严格区分大小写的。比如你写的是../../temp,但实际文件夹名叫Temp,就会触发这个错误。
4. 排除特殊配置的干扰
如果你在项目里配置了NODE_PATH环境变量,或者用Webpack、Babel等工具设置了模块解析别名,这些配置可能会打乱Node.js的默认路径解析逻辑。可以暂时移除这些配置,测试基础路径是否能正常加载模块。
另外补充一句:你之前删除node_modules和package-lock.json的操作,主要是用来解决第三方依赖的问题,但这次的错误是本地自定义模块找不到,所以那些操作没效果是正常的。
内容的提问来源于stack exchange,提问作者user2230975
相关产品推荐
相关产品推荐

