【发布时间】: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