我们目前在生产服务器上使用assest管道来预编译单个CSS和JavaScript资产,但不要将它们组合成单个文件,例如我们有以下配置:
config.assets.precompile += %w( *.js *css fonts/*)
我能够将CSS和JavaScript文件预编译到配置了生产设置的开发系统上的单个CSS和单个JS文件中。 但是,当我尝试在生产服务器上进行预编译时,我没有错误,只需清空application.js和application.css文件。
我已经做了很多阅读(包括这里的SO)和尝试不同的事情,但似乎没有任何东西接近相关。 我喜欢听到任何指针或建议,因此生产application.css和application.js包含连接的文件内容。
提前致谢
以下是开发和生产配置的相关摘要:
/* ...
*= require cssexample1
*= require cssexample2
*/
//= require jsexample1
//= require jsexample2
if defined?(Bundler)
# If you precompile assets before deploying to production, use this line
Bundler.require(*Rails.groups(:assets => %w(development test)))
# If you want your assets lazily compiled in production, use this line
# Bundler.require(:default, :assets, Rails.env)
end
module StudySoup
class Application < Rails::Application
# Enable the asset pipeline
config.assets.enabled = true
# Version of your assets, change this if you want to expire all your assets
config.assets.version = '1.0'
end
end
这将完全按预期创建已编译的application.js和application.css
ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux]
'RUBY_VERSION' in irb: 1.9.3
rails: 3.2.1
rake: 10.4.2
config.assets.debug = false
config.serve_static_files = true
config.assets.compress = true
config.assets.compile = true
config.assets.digest = true
config.assets.precompile += %w( *.js *css fonts/*)
编译:
rm -rf tmp/cache/*
RAILS_ENV=development bundle exec rake assets:clean assets:precompile
结果:
public / assets / manifest.yaml包含条目和 public / assests / application.js和application.css(以及缓存复制)现在包含连接文件
这会创建一个空的application.js和applciation.css :(
ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux]
'RUBY_VERSION' in irb: 2.1.2
rails version: 3.2.1
rake, version 10.4.2
config.serve_static_assets = true
config.assets.compress = true
config.assets.compile = true
config.assets.digest = true
config.assets.precompile += %w( *.js *css fonts/*)
编译:
rm -rf tmp/cache/*
rake assets:clean assets:precompile
结果:
public / assets / manifest.yaml包含条目和 public / assests / application.js和application.css(以及缓存复制)存在但是为空(长度为0)
答案 0 :(得分:0)
你可以试试这个:
RAILS_ENV=production bundle exec rake assets:precompile