在开发模式下使用精简(已编译)的 Rails 资产

13

在Rails开发模式下,如何以已压缩的形式呈现我的资源?

我有几十个资源文件,因为它们一个接一个地提供,所以在开发过程中加载页面需要相当长的时间。 我认为如果我保持它们已编译并从中获取服务,将会加速我的页面加载时间(我知道当我专门处理资源时,这并不理想)。

这是布局中我的样式和脚本标签:

<%= stylesheet_link_tag 'all'  %>
<%= javascript_include_tag 'all' %>

我也运行了bundle exec rake assets:precompile:nondigest

但仍然看到资产一个接一个地呈现。请帮忙!

2个回答

21

这很简单。


你只需要在config/environments/development.rb中添加/更改以下行:

config.assets.debug = false

重新启动你的Rails服务器。


我仍需要提及,在stylesheet_link_tag和javascript_include_tag调用中,必须设置:debug => false。您能否确认您能够在不明确设置:debug false的情况下使其正常工作? - thanikkal
当然可以。我有相同的配置。 - Itay Grudev
如果我将 :debug => false,它也不需要 config.assets.compress = true!那就很奇怪了。 - thanikkal
3
这个答案是不正确的。你不想打开压缩,而是要关闭调试模式。在你的development.rb文件中关闭调试模式:config.assets.debug = false - Gabe Kopley
1
完美运行。我需要切换这个选项,以便在IE8中进行测试(它限制了加载的样式表数量)。 - Justin
显示剩余2条评论

3
Rails 4.2.1可与以下配置一起使用:
config.assets.js_compressor = :uglifier
config.assets.css_compressor = :sass
config.assets.compile = true
config.assets.digest = true
# config.assets.debug = true

有了这个配置,precompile 将会在 development 环境中将所有JS和CSS文件压缩。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接