我更喜欢而不是以开发模式连接JavaScript文件,但将它们作为单个文件提供。所以我配置:如何避免以开发模式提供预编译资源?
development.rb:
config.assets.compress = false
config.assets.debug = true
config.assets.compile = true
在我的/应用/资产/ JavaScript的目录,我有:
- reviews.js
- 评论/
- foo.js
- bar.js 个
reviews.js:
//= require jquery
//= require jquery_ujs
//= require_tree ./reviews
我包括JavaScript的在我的布局使用<%= javascript_include_tag "reviews" %>
。生成的页面单独正确地引用这三个脚本,并且reviews.js
基本上是空的。到现在为止还挺好。
现在,当我使用rake assets:precompile
预编译我的资产进行生产时,三个JavaScript文件连接成reviews.js
。这对于生产来说都很好,但现在,处于开发模式,连接的reviews.js
服务于另外到两个单独的文件。
当然,这会导致各种讨厌的错误发展,因为现在,foo.js
和bar.js
的内容被提供两次,其中一个在reviews.js
的潜在旧版本中。
我如何确保Rails在开发模式下不使用预编译资产?
谢谢你的建议,我本地删除编译后的文件和配置已经他们混帐推到Heroku的编译。 –
这是我需要的答案。确实,在我开发过程中,我并不需要这些预编译资产,但是当我正在学习如何配置资产管道时,我确实需要他们在本地测试我的生产模式,而不是等待Heroku上的惊喜!现在我要改变目录名(或把它们放到一个git分支上),但仍然是一个耻辱,这是我需要考虑的另一件事,而不是在开发环境中配置选项来说“忽略公共/资产目录“,这是我所希望的。 – Phantomwhale
您可能不得不忘记清除浏览器缓存,因此浏览器不会使用在rm -rf'd public/assets –