【问题标题】:Glyphicons not precompiled in Rails 4 app在 Rails 4 应用程序中未预编译的 Glyphicons
【发布时间】:2014-06-12 03:39:12
【问题描述】:

我正在使用 Twitter bootstrap(sass 版本,文件直接复制到我的资产目录而不是使用 gem)编写 Rails 4 应用程序。 Glyphicons 在开发中工作,但在生产中显示为正方形。我相信这是因为资产管道没有对它们进行适当的预编译和交付。

我尝试将以下内容添加到 production.rb 中但没有成功:

config.assets.precompile << /\.(?:svg|eot|woff|ttf)$/

任何人都可以提出解决方案吗?

非常感谢

【问题讨论】:

  • 您是否将相关字形 css 文件包含在您的 production.rb -> config.assets.precompile += ["layout/fonts/fonts.css"] 中?
  • 哪个资产目录? lib/assets、vendor/assets 还是 app/assets?
  • “我相信”不是找出问题所在的好起点。您的浏览器对此有何看法,您在加载页面时是否在开发者控制台中收到 404?

标签: ruby-on-rails twitter-bootstrap ruby-on-rails-4 glyphicons


【解决方案1】:

您遇到困难的原因是您的正则表达式实际上与字体的路径名不匹配。解决此问题的一种方法是更改​​正则表达式以匹配完整路径。

config.assets.precompile << /.+\.(?:svg|eot|woff|ttf)$/i

另一方面,正则表达式对于潜入您的代码库的其他用户来说并不总是非常可读,并且很容易失控。在这种情况下,我们可以使用更贴切的工具,glob 语法

config.assets.precompile += %w( *.svg *.eot *.woff *.ttf )

【讨论】:

    猜你喜欢
    • 2014-02-01
    • 1970-01-01
    • 2014-11-13
    • 2014-04-20
    • 1970-01-01
    • 2013-08-09
    • 1970-01-01
    • 2012-09-02
    • 1970-01-01
    相关资源
    最近更新 更多