【问题标题】:Redundant application.js and css after precompile assets in development with Rail 3.2.3使用 Rail 3.2.3 预编译资产后的冗余 application.js 和 css
【发布时间】:2012-05-31 15:36:46
【问题描述】:

我在部署到生产之前预编译资产。生产模式运行良好,但 application.js 和 application.css 在开发中是多余的。我尝试rake assets:clean 并删除所有公共资产仍然无效。

发展中的观点

冗余的 applicaiton.css 和 application.js

<link href="/assets/application.css?body=1" media="screen" rel="stylesheet" type="text/css" />
<link href="/assets/css/custom-theme/jquery-ui-custom-lastest.css?body=1" media="screen" rel="stylesheet" type="text/css" />
<link href="/assets/animate.css?body=1" media="screen" rel="stylesheet" type="text/css" />
<link href="/assets/jquery_loadmask/jquery_loadmask.css?body=1" media="screen" rel="stylesheet" type="text/css" />
...
<script src="/assets/tags.js?body=1" type="text/javascript"></script>
<script src="/assets/wedapp.js?body=1" type="text/javascript"></script>
<script src="/assets/works.js?body=1" type="text/javascript"></script>
<script src="/assets/application.js?body=1" type="text/javascript"></script>

development.rb

config.assets.compress = false
config.assets.debug = true

生产.rb

config.serve_static_assets = false
config.assets.compress = true
config.assets.compile = true  
config.assets.initialize_on_precompile = false  
config.assets.digest = true
config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx

现在,我需要在 development.rb 的 config.assets.debug 中设置 false,但我无法在预编译之前调试资产。这真的很困扰我。

有什么建议吗?谢谢。

解决方案

尝试更改application.js文件任何东西,我删除了一个空白行和rake assets:clean RAILS_ENV=development,现在它运行良好。

【问题讨论】:

  • application.js/css 是多余的是什么意思?
  • 致 @FrederickCheung,application.js 和 application.css 不应在开发中使用 'config.assets.debug=true' 加载。
  • 不要认为这是真的,因为在这些文件中包含 js/CSS 而不是纯清单文件是合法的(但不鼓励)。

标签: ruby-on-rails asset-pipeline


【解决方案1】:

如果您在本地预编译,并希望保留所有正常的开发模式功能,那么您可以调整您的设置以允许两者。

在 development.rb 中放置以下行:

config.assets.prefix = "/dev-assets"

这会覆盖 application.rb 中设置的任何内容(通常是“/assets”)。

你在 application.rb 中也需要这个:

config.assets.initialize_on_precompile = false

然后您可以将已编译的资产提交到源代码管理并部署它们,而不必担心事后清理它们。

(有关该主题,请参阅我的full blog post

【讨论】:

  • 嗨@Richard Hulse,我按照你说的设置了配置,但是从 /assets/... 到 /dev-assets/... 的页面仍然是多余的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-14
  • 2013-05-02
  • 1970-01-01
  • 2012-09-23
  • 2021-04-27
相关资源
最近更新 更多