簡體   English   中英

將字體添加到資產管道導軌4.2.x

[英]Adding fonts to assets pipeline rails 4.2.x

我正在嘗試在heroku上部署我的應用程序,但仍然沒有加載字體,這是我的相關字體sass:

@font-face
  font-family: 'FontAwesome'
  src: url('fontawesome-webfont.eot?v=4.4.0')
  src: url('fontawesome-webfont.eot?#iefix&v=4.4.0') format("embedded-opentype"), url('fontawesome-webfont.woff2?v=4.4.0') format("woff2"), url('fontawesome-webfont.woff?v=4.4.0') format("woff"), url('fontawesome-webfont.ttf?v=4.4.0') format("truetype"), url('fontawesome-webfont.svg?v=4.4.0#fontawesomeregular') format("svg")
  font-weight: normal
  font-style: normal

我在app/assets/fonts有上面提到的這些app/assets/fonts 然后我有資產初始化程序:

Rails.application.config.assets.paths << Rails.root.join('app', 'assets', 'fonts')
Rails.application.config.assets.precompile << /\.(?:svg|eot|woff|ttf)\z/

我該怎么做才能解決這個問題,這似乎是一個常見的問題,但是沒有一個共同的解決方案可行,有什么建議嗎?

您應該在sass中使用asset-url而不是url

有關更多信息,請參見此處: https//github.com/rails/sass-rails#user-content-asset-helpers

所以這應該工作:

@font-face {
  font-family: 'FontAwesome'
  src: asset-url('fontawesome-webfont.eot?v=4.4.0')
  src: asset-url('fontawesome-webfont.eot?#iefix&v=4.4.0') format("embedded-opentype"), asset-url('fontawesome-webfont.woff2?v=4.4.0') format("woff2"), asset-url('fontawesome-webfont.woff?v=4.4.0') format("woff"), asset-url('fontawesome-webfont.ttf?v=4.4.0') format("truetype"), asset-url('fontawesome-webfont.svg?v=4.4.0#fontawesomeregular') format("svg")
  font-weight: normal
  font-style: normal
}

如果您的資產是預編譯的,則應使用Rails的asset_path幫助程序。 將您的scss文件更改為scss.erb並將@font-face塊修改為以下內容:

@font-face {
  font-family: 'FontAwesome';
  src: url(<%= asset_path 'fontawesome-webfont.eot?v=4.4.0' %>);
  src: url(<%= asset_path 'fontawesome-webfont.eot?#iefix&v=4.4.0' %>) format('embedded-opentype'),
  /* etc... */
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM