我使用Rails 3.2。我使用了很多JS宝石,其中大部分需要按特定顺序调用。在开发中,它会自动分离不同的JS文件,如下所示:
<link href="/assets/companies.css?body=1" media="all" rel="stylesheet" type="text/css" />
<link href="/assets/contacts.css?body=1" media="all" rel="stylesheet" type="text/css" />
<link href="/assets/fake_json.css?body=1" media="all" rel="stylesheet" type="text/css" />
但是在生产中它合并了所有这样的文件:
<script src="/assets/application-e30cf15d1afc4b59752074fa16cd83a3.js" type="text/javascript"></script>
在我的具体情况下,我不希望或要求Rails为我这样做。我尝试在config.assets.compress = false
文件中使用config.assets.debug = true
和production.rb
取消此操作,但即使重新启动服务器也无效。
如何在生产中启用“不合并”?
答案 0 :(得分:1)
如果你不希望它们全部合并的原因是它们需要按特定顺序加载,并且默认是按字母顺序编译它们,你可以摆脱
require_tree
在application.js中行,并按照您需要的顺序写出单独的require语句。
答案 1 :(得分:0)
答案 2 :(得分:0)
你在视图中可能有一个javascript_include_tag :application, :defer => true, :debug => false
吗?
您的问题帮助我解决了类似的问题(+1)。我需要在config.assets.debug = true
中设置development.rb
,在<%= javascript_include_tag :application, :defer => true, :debug => true %>
设置shared/_settings.html.erb