【问题标题】:Heroku 404'ing static files dependenciesHeroku 404'ing 静态文件依赖
【发布时间】:2018-05-04 16:36:52
【问题描述】:

最近我开始研究 Heroku Java 应用程序。

在我将服务器从登台转移到生产之前一切都很好......(但它可能不相关)

应用程序使用以下构建包: 爪哇 节点 鲍尔

凉亭只是用来安装Gentelella

问题是现在它没有从它们加载任何东西。 它似乎安装正确,如果我bash 到服务器我可以看到文件。

如果我通过浏览器转到不是通过 Bower 安装的 /resources/style.css,它可以正常工作并且我可以看到该文件。 例如,如果我转到 /resources/bower_components/gentelella/vendors/jquery/dist/jquery.min.js,它会给我 404

如果我 bash 到服务器,我可以在正确的位置看到文件,并且它似乎具有正确的权限。

~/web/resources/bower_components/gentelella/vendors/jquery/dist $ ls -l 总计 296

-rw------- 1 u32669 dyno  85658 Jan 25  2017 jquery.js
-rw------- 1 u32669 dyno  85578 Jan 25  2017 jquery.min.js
-rw------- 1 u32669 dyno 129572 Jan 25  2017 jquery.min.map

我已经清理了我的缓存,重新启动了 dynos 和其他愚蠢的“解决方案”。

还有其他想法吗?

更新

发现提供文件的实际位置是:target/tomcat./webapps/expanded/resources

将所有 bower_components 复制到此文件夹作为临时解决方案,现在它工作正常,但我想了解为什么会发生这种情况。

所以我认为我需要在 Heroku 设置中的其他地方或其他地方将此设置为正确的路径?

【问题讨论】:

    标签: node.js heroku bower gentelella


    【解决方案1】:

    问题与构建包的顺序有关。

    当 Java buildpack 运行时,它会将 Web 资源复制到 Tomcat 公共目录。 发生的情况是 Java buildpack 首先运行,因此 bower 安装从未复制到正确的目录。

    只需更改顺序以使 Java buildpack 成为最后一个运行修复它。

    【讨论】:

      猜你喜欢
      • 2010-10-22
      • 1970-01-01
      • 2012-09-30
      • 2020-10-17
      • 1970-01-01
      • 2023-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多