You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Parcel构建的无后端React应用在Heroku部署时构建失败求解决

解决方案

核心报错为无法解析A01SignUp.js依赖,lscpu相关日志仅为警告不影响构建,可按以下步骤排查修复:

  • 第一步:校验文件路径与大小写匹配
    Heroku使用的Linux文件系统大小写完全敏感,而Windows/macOS默认大小写不敏感,会出现本地运行正常、线上构建失败的情况:
    1. 检查/src/pages/a00auth/目录下的实际文件名,必须和App.js中import语句的写法完全一致,包括大小写、后缀名
    2. 确认你导入的A01SignUp.js实际后缀是否为.js,如果是.jsx后缀要么修改import语句补全正确后缀,要么去掉后缀让Parcel自动识别
    3. 如果修改了文件名大小写,执行git config core.ignorecase false关闭git大小写忽略,重新提交代码,避免git未识别文件名变更
  • 第二步:修复Parcel版本冲突
    你的依赖中同时存在Parcel 1(parcel-bundler@1.12.5)和Parcel 2专属的@parcel/transformer-webmanifest依赖,两个大版本完全不兼容:
    1. 若要使用Parcel 1:卸载所有@parcel/开头的Parcel 2相关依赖,重新安装依赖后测试构建
    2. 若要使用Parcel 2:卸载parcel-bundler,安装正式版的parcel@2.x,不要使用beta版本,避免稳定性问题
  • 第三步:补全Heroku构建配置
    在package.json中显式指定Node版本和构建脚本,避免Heroku默认配置兼容问题:
    "scripts": {
      "start": "parcel ./src/index.html",
      "build": "parcel build ./src/index.html",
      "heroku-postbuild": "npm run build",
      "postbuild": "workbox generateSW",
      "predeploy": "rm -rf dist && npm run build",
      "deploy": "gh-pages -d dist"
    },
    "engines": {
      "node": "16.x",
      "npm": "8.x"
    }
    

所有修改完成后,先本地执行rm -rf dist && npm run build确认本地构建无报错,再推送到Heroku重新部署即可。

内容的提问来源于stack exchange,提问作者Krishna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 18:48:03