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

部署应用到Heroku时Asset文件丢失、Assets文件夹不存在如何解决

Heroku部署Assets文件夹丢失排查及解决方案

排查步骤

  • 检查.gitignore配置:确认Assets/、*/Assets这类规则是否被加入忽略列表,Heroku仅部署git提交的内容,被忽略的文件不会同步到部署环境
  • 检查构建脚本配置:查看对应技术栈的构建配置(如Node项目的package.json、Python Django项目的settings.py),确认是否没有将Assets文件夹加入构建产物的复制规则,多数框架构建时仅会处理指定目录的静态资源
  • 查看Heroku构建日志:本地运行heroku logs --tail查看完整构建流程,确认是否存在Assets文件夹复制权限报错、路径不存在导致跳过的异常日志
  • 检查静态资源托管规则:确认服务端配置的静态资源托管根目录是否包含Assets文件夹,若仅配置了public、dist等目录为资源根目录,不在目录内的Assets文件访问时会显示不存在

解决方法

  • 若为.gitignore忽略导致:删除.gitignore中对应Assets文件夹的忽略规则,将该文件夹提交到git仓库后重新部署即可
  • 若为构建时未同步导致:在构建脚本中添加Assets文件夹复制逻辑,比如Node项目可在package.json的build命令中追加cp -r Assets dist/,也可以直接修改框架的静态资源扫描配置,将Assets目录加入资源处理列表
  • 若为托管路径配置错误:修改服务端的静态资源托管规则,比如Express项目添加配置app.use('/Assets', express.static(path.join(__dirname, 'Assets'))),确保访问路径和部署后的实际文件路径匹配
  • 若Assets为运行时动态生成的文件:Heroku采用临时文件系统,dyno重启、重新部署都会清空所有运行时生成的文件,这类动态资源需要存储到AWS S3、Cloudinary等第三方静态存储服务,不可存储在Heroku本地文件系统
  • 部署前可先在本地执行生产构建命令(如Node项目的npm run build),检查本地构建后的产物目录是否包含Assets文件夹,确认配置无误后再推送到Heroku部署

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 17:51:01