React.js执行npm run build命令时出现文件缺失报错如何解决?
问题诱因
- 核心原因是
jsconfig.json的baseUrl配置错误:你将该参数配置为/(对应操作系统根目录),开发阶段react-scripts的本地服务会做路径兼容,因此npm start可以正常运行,但生产打包逻辑会直接从系统根目录查找项目内的导入模块,触发文件缺失报错。 - 次要排查方向:项目代码内的绝对导入路径存在拼写错误、文件名大小写不匹配问题,部分操作系统对路径大小写不敏感,开发阶段不会触发报错,打包阶段的严格校验会直接抛出异常。
修复方案
- 第一步修改
jsconfig.json配置,调整baseUrl参数:
如果你的绝对导入都是从src目录下开始引用,使用以下配置:
{ "compilerOptions": { "baseUrl": "src" }, "include": [ "src" ] }
如果你需要从项目根目录导入文件,可以把baseUrl设置为"./"(开头的点不可省略,代表当前项目根目录)。
- 清理缓存重新执行打包:
依次运行以下命令:
# 删除旧依赖和锁文件 rm -rf node_modules package-lock.json yarn.lock # 清理npm本地缓存 npm cache clean --force # 重新安装依赖 npm install # 执行生产打包 npm run build
- 若仍存在报错,逐一检查所有绝对导入的路径拼写、文件名大小写是否和实际存储的文件完全一致,比如导入语句写的是
utils/request,但实际文件名为Utils/Request.js的大小写不匹配问题,需要修正为一致的写法。
内容的提问来源于stack exchange,提问作者user15404864
相关产品推荐
相关产品推荐

