Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何加快Heroku上的coffee脚本资产编译_Ruby On Rails_Heroku_Coffeescript - Fatal编程技术网

Ruby on rails 如何加快Heroku上的coffee脚本资产编译

Ruby on rails 如何加快Heroku上的coffee脚本资产编译,ruby-on-rails,heroku,coffeescript,Ruby On Rails,Heroku,Coffeescript,Ruby on Rails 3.2有很多小的coffee脚本文件,需要花费大量的时间来部署: 有没有办法加快Heroku上的资产编译 Compiled backbone/apps/manage_promote/show/templates/_integrate.js (271ms) (pid 7108) Compiled backbone/apps/manage_promote/show/templates/show_layout.js (336ms) (pid 7108)

Ruby on Rails 3.2有很多小的coffee脚本文件,需要花费大量的时间来部署:

有没有办法加快Heroku上的资产编译

   Compiled backbone/apps/manage_promote/show/templates/_integrate.js  (271ms)  (pid 7108)
   Compiled backbone/apps/manage_promote/show/templates/show_layout.js  (336ms)  (pid 7108)
   Compiled backbone/apps/manage_promotions/list/list_controller.js  (260ms)  (pid 7108)
   Compiled backbone/apps/manage_promotions/list/list_view.js  (236ms)  (pid 7108)
   Compiled backbone/apps/manage_promotions/list/templates/_empty.js  (335ms)  (pid 7108)
   Compiled backbone/apps/manage_promotions/list/templates/_promotion.js  (380ms)  (pid 7108)
   Compiled backbone/apps/manage_promotions/list/templates/_promotions.js  (368ms)  (pid 7108)
   Compiled backbone/apps/manage_promotions/list/templates/list_layout.js  (284ms)  (pid 7108)
   Compiled backbone/apps/manage_promotions/manage_promotions_app.js  (238ms)  (pid 7108)
   Compiled backbone/apps/manage_promotions/new_edit/new_edit_controller.js  (267ms)  (pid 7108)
   Compiled backbone/apps/manage_promotions/new_edit/new_edit_view.js  (241ms)  (pid 7108)
   Compiled backbone/apps/manage_promotions/new_edit/templates/new_edit_layout.js  (301ms)  (pid 7108)
   Compiled backbone/apps/manage_statistics/list/list_controller.js  (264ms)  (pid 7108)
   Compiled backbone/apps/manage_statistics/list/list_view.js  (231ms)  (pid 7108)

选项1:本地预编译资产

您可以在本地编译资产,将其添加到源代码管理并将其推送到Heroku:

RAILS_ENV=production bundle exec rake assets:precompile
git add public/assets
git commit -m "Precompile assets"
Heroku随后将检测预编译的资产并跳过编译

-----> Preparing Rails asset pipeline
       Detected manifest.yml, assuming assets were compiled locally
有关更多信息,请参阅

选项2:对链轮使用memcache缓存

Via(免责声明:我没有尝试过这种方法。)

启用memcache加载项

heroku addons:add memcachier
dalli
memcachier
添加到您的GEM文件中

config/environments/production.rb中配置资产缓存存储

config.assets.cache_store = :dalli_store

这意味着资产是git的一部分,我不确定是否要这样做。我已经更新了答案,添加了第二个选项(还没有尝试过)