Next.js执行npm run dev时报cannot find module错误无法启动
问题解决方案
1 修正导入路径(核心报错原因)
你项目中src/redux/store.js的依赖导入写法错误,不需要手动指定相对路径指向node_modules,Node及webpack会自动解析node_modules目录下的已安装依赖,将对应代码替换为以下内容即可:
import { createStore, applyMiddleware } from 'redux'; import { persistStore } from 'redux-persist'; import thunk from 'redux-thunk';
原写法./node_modules/redux是从store.js所在的src/redux/目录下查找node_modules,该路径实际不存在,因此触发模块找不到的报错。
2 清理Next.js编译缓存
修改完导入路径后,先删除本地已生成的错误编译缓存再启动服务,执行命令如下:
- 类Unix系统(Mac/Linux)执行:
rm -rf .next - Windows系统执行:
rd /s /q .next
清理完成后重新执行npm run dev启动项目即可。
3 可选检查项
如果以上操作完成后仍有报错,可按以下步骤排查:
- 检查项目根目录
package.json的dependencies字段,确认存在redux、redux-thunk、redux-persist依赖声明 - 删除项目根目录的
package-lock.json(或yarn.lock/pnpm-lock.yaml)锁文件,再重新执行npm install安装依赖,避免锁文件异常导致依赖安装不全
内容的提问来源于stack exchange,提问作者Henry
相关产品推荐
相关产品推荐

