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

使用react-boilerplate构建的应用在Heroku部署时出现应用错误

解决React-Boilerplate部署Heroku后启动崩溃的问题

从你提供的日志里,能直接定位到两个核心问题,正是它们导致了部署后的应用报错:

1. 启动环境与依赖不匹配

Heroku在构建完成后,会自动移除devDependencies中的依赖来减小部署体积,但你的npm start命令跑的是开发环境脚本:

cross-env NODE_ENV=development node server

而开发环境的webpack配置(internals/webpack/webpack.dev.babel.js)依赖glob这类仅在devDependencies中的模块,所以部署后自然会出现Cannot find module 'glob'的错误。

2. 针对性解决方案

方案一:修改启动命令为生产环境(推荐)

编辑项目根目录的package.json,将start命令替换为生产环境启动脚本,同时保留原开发命令方便本地调试:

"scripts": {
  "start": "cross-env NODE_ENV=production node server",
  "start:dev": "cross-env NODE_ENV=development node server",
  // 其他脚本保持不变
}

生产环境的启动逻辑不会依赖dev专属模块,而且你的构建日志显示heroku-postbuild已经成功生成了build文件夹,生产服务器能正确加载静态资源。

方案二:强制Heroku保留dev依赖(不推荐)

如果特殊场景下必须用开发环境启动(不建议生产环境这么做),可以通过环境变量关闭Heroku的dev依赖清理:

heroku config:set NPM_CONFIG_PRODUCTION=false

这个方法会大幅增加部署包体积,且生产环境加载dev依赖存在安全风险,仅作为临时测试使用。

验证修复效果

  1. 将修改后的package.json推送到GitHub仓库
  2. 在Heroku控制台手动触发重新部署,或等待自动同步
  3. 用命令实时查看启动日志确认修复:
heroku logs --tail --app fast-lake-29656

内容的提问来源于stack exchange,提问作者袙谢邪写屑懈褉 袛芯褋褌

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:55:55