Rails 5 中的 Font-Awesome 未预编译

Font-Awesome in Rails 5 not getting precompiled

我们最近从 Rails 4.2.7 更新到 Rails 5,现在我们在预编译资产时遇到了 Font-Awesome 问题。

我们包含 font-awesome-rails gem (v4.7.0.0) 并且在开发中一切正常。 但是,如果我们 运行 rails assets:precompile(无论是在开发环境还是生产环境中都没有关系),字体不会出现在 public/assets.

我们的 manifest.js 看起来像这样:

# app/assets/config/manifest.js

//= link_directory ../javascripts .js
//= link_directory ../stylesheets .css
//= link emails/base.css
//= link_tree ../images
//= link_tree ../fonts

我们的assets.rb是默认的,因为你现在在manifest.js

中配置它
# Be sure to restart your server when you modify this file.

# Version of your assets, change this if you want to expire all your assets.
Rails.application.config.assets.version = '2.0'

# Add additional assets to the asset load path
# Rails.application.config.assets.paths << Emoji.images_path

# Precompile additional assets.
# application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
# Rails.application.config.assets.precompile += %w( search.js )

我们在我们的应用程序中使用 sass 来自 master

sass-rails gem

有人知道这里的问题是什么吗?

此致,
温泉

找到解决方案。
如果我添加

%w(eot svg ttf woff woff2).each do |ext|
  Rails.application.config.assets.precompile << "fontawesome-webfont.#{ext}"
end

assets.rb 初始化程序,一切正常。
我以为你跳过了那部分,因为你现在应该使用新的 manifest.js

又学到了什么。

将字体放在 app/assets/fonts 下,并在你的 scss 中将 url('Your Font Path') 修改为 font-url('Your Font Path') 。 Asset Pipeline 会自动将字体预编译到 public/assests 文件夹中。