在Rails中this commit之后,建议将第三方资产放入app/assets
文件夹,或config.precompile
列出所有此类资产。
在该线程上引用用例
例如,如果我需要提供一个也有CSS的jQuery插件,那么 字体表面和图像精灵,我将.js和.css添加到 供应商/资产/ javascripts和供应商/资产/样式表。我也会 供应商供应商/资产/图像和中的精灵和字体 供应商/资产/字体。添加整个供应商/资产 路径似乎有点过分,但是单独手动指定每个资产 看似乏味(虽然可能是设计)。
在app/assets
中添加第三方资产会导致全局资产文件夹的Rails 2 类似问题。
我错过了什么吗?什么是Rails 4组织第三方资产的方式。
答案 0 :(得分:1)
应明确地手工包含第三方。这是因为这些库有许多可选部分,如源代码,自述文件等。如果您需要其他东西,如图像或字体,您可以将这些文件添加到公共文件夹中或执行此操作:
<强>配置/ 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
end
<强>环境/ production.rb 强>
config.serve_static_assets = true
然后运行bundle exec rake assets:precompile RAILS_ENV=production
。