【问题标题】:Font-Awesome in Rails 5 not getting precompiledRails 5 中的 Font-Awesome 没有被预编译
【发布时间】:2020-10-19 12:44:53
【问题描述】:

我们最近从 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 和来自 mastersass-rails gem

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

问候,
温泉

【问题讨论】:

    标签: font-awesome ruby-on-rails-5


    【解决方案1】:

    找到了解决办法。
    如果我添加

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

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

    又学到了什么。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2015-02-09
        • 2017-04-26
        • 2018-08-31
        • 2018-07-30
        • 2019-07-10
        • 1970-01-01
        • 2020-04-15
        • 2018-07-23
        • 1970-01-01
        相关资源
        最近更新 更多