【问题标题】:Font files not compiling in production Ruby on Rails字体文件未在生产 Ruby on Rails 中编译
【发布时间】:2018-12-15 21:28:32
【问题描述】:

希望得到一些帮助。我有一个 Rails 项目,在生产中似乎没有编译字体。

在我的 application.rb 文件中

 class Application < Rails::Application
   config.assets.paths << Rails.root.join("app", "assets", "fonts")
 end

将字体添加到我的 scss 文件中,例如

@font-face {
   font-family: 'Jaapokki';
   src: asset-url("/assets/Jaapokki-Regular.eot");
   src: asset-url("/assets/Jaapokki-Regular.eot?#iefix") 
   format("embedded-opentype"), asset-url("/assets/Jaapokki-Regular.woff") format("woff"), asset-url("/assets/Jaapokki-Regular.ttf") format("truetype");
   font-weight: normal;
   font-style: normal;
}

但在

的 chrome 开发控制台中出现错误

GET https://mve.herokuapp.com/assets/Jaapokki-Regular.woff net::ERR_ABORTED

现在这在开发中有效,我在部署到 aws 服务器时使用了类似的设置。然而,这个应用程序部署到 heroku,这似乎给我带来了问题。我想第一个问题是如何检查我的字体在推送到生产时是否正在编译。

非常感谢任何帮助!

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    由于您的字体在app/assets/fonts 中,您应该能够在您的SCSS 中使用font-url 为每个字体文件自动生成正确的资产路径:

    @font-face {
       font-family: 'Jaapokki';
       src: font-url("Jaapokki-Regular.eot");
       src: font-url("Jaapokki-Regular.eot?#iefix") format("embedded-opentype"),
            font-url("Jaapokki-Regular.woff") format("woff"),
            font-url("Jaapokki-Regular.ttf") format("truetype");
       font-weight: normal;
       font-style: normal;
    }
    

    在此处查看 Aaron Gray 对类似问题的回答:https://stackoverflow.com/a/19414154/2076253

    【讨论】:

    • 不,当代码被推送到生产环境时,它似乎没有做任何事情
    • 我会看看这个问题线程,看看我是否能找到解决办法,谢谢!
    • 哦,等等,不,我是个傻瓜!我什至没有意识到我的 css 中有 /assets/,非常感谢您!
    【解决方案2】:
    @font-face {
        font-family: "raty";
        src: url(asset-path("raty.woff"));
    }
    

    【讨论】:

    • 为了帮助读者更好地理解这个答案与公认答案之间的区别,您能否解释一下您的方法在哪些条件下更受欢迎,以及行为上的差异可能是什么?
    猜你喜欢
    • 2015-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多