在Rails中的this commit之后,建议第三方资产要么放在app/assets文件夹中,要么config.precompile应该列出所有此类资产。
引用该线程上的用例
例如,如果我需要提供一个具有CSS、字体面板和图像精灵的jQuery插件,我会将.js和.css添加到供应商/资产/javascripts和供应商/资产/样式表中。我还将分别在供应商/资产/图像和供应商/资产/字体中提供精灵和字体。添加整个供应商/资产路径似乎过分了,但手动单独指定每个资产似乎很繁琐(尽管这可能是出于设计)。
在app/assets中添加第三方资产将导致Rails 2类似全局资产文件夹的问题。
我漏掉了什么吗?Rails 4组织第三方资产的方式是什么?
发布于 2013-09-04 07:25:00
第三方应明确地包括在内。这是因为这些库有许多可选部分,如源代码、自述文件等。如果需要其他内容,例如图像或字体,可以将这些文件添加到公用文件夹中,或者这样做:
config/application.rb
config.assets.precompile += %w(*.png *.jpg *.jpeg *.gif,
"fontawesome-webfont.ttf",
"fontawesome-webfont.eot",
"fontawesome-webfont.svg",
"fontawesome-webfont.woff")
config.assets.precompile << Proc.new do |path|
if path =~ /\.(css|js)\z/
full_path = Rails.application.assets.resolve(path).to_path
app_assets_path = Rails.root.join('app', 'assets').to_path
if full_path.starts_with? app_assets_path
puts "including asset: " + full_path
true
else
puts "excluding asset: " + full_path
false
end
else
false
end
endenvironment/production.rb
config.serve_static_assets = true然后运行bundle exec rake assets:precompile RAILS_ENV=production。
https://stackoverflow.com/questions/18607108
复制相似问题