[英]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.