[英]Heroku does not precompile assets when deploying
它在文檔中非常明確地說如果我不在本地預編譯它就會這樣做。
說實話,我沒興趣在本地預編譯這些。
我在production.rb中有什么,我在application.rb中重復了一遍
在我的production.rb中 :
config.serve_static_assets = false
config.assets.compile = false
config.assets.precompile << 'application.js'
config.assets.precompile << 'application.css'
config.assets.precompile << 'screen.css'
然后我部署,然后返回:
-----> Compiled slug size: 52.4MB
-----> Launching... done, v28
http://myapp.herokuapp.com deployed to Heroku
所以它“編譯”了一些東西,對嗎? 除了沒有,我去網站,.css和.js文件是空白的。
為了在本地預編譯,我需要在bootstraps_and_overrides.css中注釋掉該行:
@import "screen.css.scss";
然后它在本地預編譯,我的本地機器將無法正確加載css,但遠程它將實際正常工作。
所以我現在的部署方法是注釋掉那行代碼,
bundle exec rake assets:precompile
git add .
git commit -m "Adding public/assets"
git push heroku development:master
然后( 不幸的是! ):
bundle exec rake assets:clean
然后在我的.css中取消注釋該行代碼。
有些事要檢查
config/application.rb
您需要行config.assets.enabled = true
public/assets
文件夾。 在部署時,Heroku根據此文件夾是否存在(即使它是空的)決定是否預編譯 。 嘗試改變這個。 我希望這能幫到您。
在config / environments / production.rb中
config.assets.compile = true config.assets.digest = true
你可能在錯誤的Heroku堆棧上。 在創建使用資產管道的應用程序時,請確保指定stack Cedar。
heroku create -stack cedar
它不會部署的原因是因為Google字體。 將文件移動到application.css,例如:
*= require_self
*= require_tree .
*/
@import url(http://fonts.googleapis.com/css?family=Special+Elite);
將允許應用程序部署,並使字體工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.