首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails 4-供应商资产流向哪里?

问Rails 4-供应商资产流向哪里?
EN

Stack Overflow用户
提问于 2013-09-04 06:44:57
回答 1查看 5.4K关注 0票数 5

在Rails中的this commit之后,建议第三方资产要么放在app/assets文件夹中,要么config.precompile应该列出所有此类资产。

引用该线程上的用例

例如,如果我需要提供一个具有CSS、字体面板和图像精灵的jQuery插件,我会将.js和.css添加到供应商/资产/javascripts和供应商/资产/样式表中。我还将分别在供应商/资产/图像和供应商/资产/字体中提供精灵和字体。添加整个供应商/资产路径似乎过分了,但手动单独指定每个资产似乎很繁琐(尽管这可能是出于设计)。

在app/assets中添加第三方资产将导致Rails 2类似全局资产文件夹的问题。

我漏掉了什么吗?Rails 4组织第三方资产的方式是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-04 07:25:00

第三方应明确地包括在内。这是因为这些库有许多可选部分,如源代码、自述文件等。如果需要其他内容,例如图像或字体,可以将这些文件添加到公用文件夹中,或者这样做:

config/application.rb

代码语言:javascript
复制
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

environment/production.rb

代码语言:javascript
复制
config.serve_static_assets = true

然后运行bundle exec rake assets:precompile RAILS_ENV=production。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18607108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档