React构建报错:Unexpected end of JSON input 求助
React构建报错:Unexpected end of JSON input 排查方案
可尝试的排查方向
- 检查隐藏JSON文件:用
ls -a列出项目所有文件,包括.env.local、.eslintrc.json这类隐藏配置文件,逐个验证JSON格式是否完整,比如是否缺少闭合括号、引号。 - 清理构建缓存:执行
rm -rf node_modules/.cache和rm -rf build,清除React构建过程中生成的缓存文件后再尝试构建。 - 校验第三方依赖的JSON:虽然复制
package.json到新项目能正常构建,但原项目的package-lock.json可能锁定了有问题的依赖版本。可以删除原项目的package-lock.json,安装和新项目一致的依赖版本后再测试。 - 排查自定义webpack配置:如果项目修改过webpack配置,检查是否有读取JSON文件的逻辑,确认路径指向的文件是否完整,解析规则是否正确。
- 检查Git忽略的配置文件:查看
.gitignore里的文件,比如.npmrc或自定义JSON配置,这些文件可能被修改后出现格式错误但没被注意到。
高效验证步骤
- 批量检测所有JSON文件:执行命令
find . -name "*.json" -exec node -e "require('{}')" \;,这个命令会自动检测所有JSON文件的格式,直接抛出错误文件的路径,省去手动检查的麻烦。 - 逐块迁移验证:把原项目的
src目录和public目录拆分,逐部分复制到能正常构建的新项目中,每复制一块就执行npm run build,快速定位触发报错的具体文件或代码段。
内容的提问来源于stack exchange,提问作者C Paynter
相关产品推荐
相关产品推荐

