1

我使用 Rails 3.2。我正在使用很多 JS gem,其中大多数都需要按特定顺序调用。在开发中,它会自动分离不同的 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 = falseand来取消它,但即使在重新启动服务器后它也没有效果。config.assets.debug = trueproduction.rb

如何在生产中启用“不合并”?

4

3 回答 3

1

如果您不希望它们全部合并的原因是它们需要按特定顺序加载,并且默认按字母顺序编译它们,您可以摆脱

require_tree

在 application.js 中一行,并按照你需要的顺序写出单独的 require 语句。

于 2013-07-25T16:07:16.300 回答
0

您可以将以下行添加到production.rb

config.assets.compile = false

查看配置 Rails 指南以获取其他有用的参数。

于 2013-07-25T14:35:58.863 回答
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

于 2016-04-05T14:38:50.167 回答