0

我的 Rails 项目中有一堆外部 javascript 库,它们都包含在 application.js 中,因此它们在每次部署到 Heroku 时都被预编译,它运行了很长时间。

您对如何减少资产编译时间有什么建议,如果可能的话,不使用 CDN。

谢谢。

4

1 回答 1

0

为了将来参考,以下是我解决它的步骤:

  1. 在适当的文件夹中添加外部资产,vendor/assets/javascripts 或 vendor/assets/stylesheets
  2. 将资产导入从应用程序清单移动到 app/assets/javascripts/external.js 或 app/assets/stylesheets/external.css.scss
  3. 将 config/application.rb 中的 config.assets.precompile 行更改为config.assets.precompile = ['external.js', 'external.css'](注意 = 而不是 +=)
  4. 运行 rake assets:precompile
  5. 从 public/assets 中删除 manifest.yml,因为它向 Heroku 指示它是否应该编译资产
  6. 将生成的 public/assets 文件夹推送到源代码管理
  7. 将 config.assets.precompile 行改回原来的样子

这样,external.js 和 external.css 在本地编译,application.js 和 application.css 在部署时编译。就我而言,部署时间现在快了两倍多。它确实需要一些手动工作,但可以作为 rake 实现。

于 2015-03-19T16:10:02.163 回答