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
文件夹中。
我们最近从 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
文件夹中。