Rails 5 + Rails Assets + Fontawesome 不加载字体

Sha*_*nak 6 font-awesome ruby-on-rails-5 rails-assets

通过rails-asset.org安装 Fontawesome并按照默认说明进行操作时,字体无法正确加载,我看到的只是方框,表明生成的用于加载字体的 url 不正确。

在此输入图像描述

Sha*_*nak 5

更新:为自己节省一些时间并更换宝石。以下是步骤。我发现即使使用我之前的答案,生产中也存在路径问题。然而,最容易获得 fontawesome 的工作是:

  1. gem 'font-awesome-rails'
  2. @import "font-awesome";在你的 scss 文件中
  3. 完毕!

忽略下面的一切!除非你绝对想使用gem 'rails-assets-fontawesome'

所以看起来这是库中的一个错误,资产管道找不到路径。问题中建议的修复不再起作用,因为路径似乎已经改变,并且 font-awesome 路径中不再有连字符。

这是正确的修复方法:

  1. 创建一个新文件app/assets/stylesheets/font-awesome.scss,内容为:
fa-font-path: "fontawesome/fonts";
@import "fontawesome";
Run Code Online (Sandbox Code Playgroud)
  1. 其中application.scss包括:

    *= 字体棒极了

这应该可以解决问题并且图标应该开始显示。

评论:

如果您选择将font-awesome.scss内部某个目录移动到 下app/assets/stylesheets/somedir/font-awesome.scss,那么您需要修复fa-font-path变量以具有正确的相对路径,如下所示:

fa-font-path: "../fontawesome/fonts";

请小心路径和名称!

  1. 无法调用您创建的文件,fontawesome.scss因为这是打包的 gem 使用的名称。

  2. 如果您有最新版本的 gem rails-assets-fontawesome (4.7.0),则将使用导入和 fa-font-path,fontawesome不是 font-awesome像旧版本的 gem 那样。不确定这种行为可以追溯到多远的版本。