它在开发中工作得很好,但在生产中却不行。它没有找到以下文件:
/assets/fontello.woff
/assets/fontello.ttf
这是设置:
- 字体文件:
assets.rb
Rails.application.config.assets.paths << Rails.root.join('app', 'vendor', 'assets', 'fonts') Rails.application.config.assets.precompile << /\.(?:svg|eot|woff|ttf)\z/
fontello.css
@font-face { font-family: 'fontello'; src: url('/assets/fontello.eot'); src: url('/assets/fontello.eot#iefix') format('embedded-opentype'), url('/assets/fontello.woff') format('woff'), url('/assets/fontello.ttf') format('truetype'), url('/assets/fontello.svg#fontello') format('svg'); font-weight: normal; font-style: normal; }
正如我所说,开发中一切正常。我已经尝试了很多事情。例如:
- 移动公共(public)文件夹中的字体(因为我的图像已加载)
在
assets.rb
中添加以下行:Rails.application.config.assets.precompile += [/^[-_a-zA-Z0-9]*\..*/]
但没有任何效果。
您能建议其他尝试吗?
最佳答案
ls public/assets
在生产中输出什么?
可能您的文件带有摘要(例如fontello-XXXX.ttf
)。在这种情况下,您必须使用 font helpers在你的 sass (不是 css)中 - 例如。在你的 font-family block 中:src:font-url('fontello.ttf')
关于ruby-on-rails - Rails 5 - 供应商 Assets 未加载到生产中(仅字体),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41779180/