它在其文档中非常清楚地表明,如果我不在本地预编译它们,它会这样做。
老实说,我对在本地预编译这些没有兴趣。
我在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 中取消注释该行代码。