Maj*_*ren 6 css fonts production ruby-on-rails font-face
场景:我有一个Rails 4.0.0应用程序,使用capistrano部署,它在我的生产服务器上预编译我的资产.
问题:我正在尝试添加字体并将其与@ font-face一起使用.它在本地工作,但不在生产中.
错误消息: "无法加载资源:服务器响应状态为404(未找到)"
我的字体位于app/assets/fonts /
我的相关文件:
应用程序/资产/样式表/ application.css.scss:
/*
* This is a manifest file yada yada yada...
*
*= require bootstrap
*= require_self
*= require_tree .
*/
@font-face {
font-family: 'stone_sansregular';
src: url(font-path('stone_sans_regular-webfont.eot') + "?#iefix") format('embedded-opentype'),
url(font-path('stone_sans_regular-webfont.woff')) format('woff'),
url(font-path('stone_sans_regular-webfont.ttf')) format('truetype'),
url(font-path('stone_sans_regular-webfont.svg') + "#stone_sansregular") format('svg');
}
Run Code Online (Sandbox Code Playgroud)
配置/ application.rb中:
config.assets.paths << Rails.root.join("app", "assets", "fonts")
Run Code Online (Sandbox Code Playgroud)
我在几个SO帖子和其他来源中寻找答案,但我似乎无法做到正确.顺便说一句,我没有在Heroku上部署.我错过了什么?我感谢您的帮助.
编辑: 在生产中,我发现我认为它们应该是的字体:my-rails-app/current/public/@ assets/fonts
font-awesome.css当我意识到我的文件实际上并未在生产中加载时,我最近刚刚解决了类似的问题。我必须做
*= require font-awesome.css
Run Code Online (Sandbox Code Playgroud)
代替
@import "font-awsome.css";
Run Code Online (Sandbox Code Playgroud)
在我的 application.css.scss 清单中。
另外,至于添加到文件名中的 MD5 哈希值,我不确定这是否是一个问题,但我最终这样做了:
font-url('fontawesome-webfont.eot');
Run Code Online (Sandbox Code Playgroud)
而不是
url(font-path('fontawesome-webfont.eot')
Run Code Online (Sandbox Code Playgroud)
因此,如果这甚至是一个问题,我相当肯定使用font-url会正确处理它。
| 归档时间: |
|
| 查看次数: |
940 次 |
| 最近记录: |