Rails 5 - 供应商资产未在生产时加载(仅限字体)

时间:2017-01-21 12:11:15

标签: ruby-on-rails fonts capistrano ruby-on-rails-5

它完美地在开发中工作,但不在生产中。它没有找到以下文件:

  

/assets/fontello.woff
  /assets/fontello.ttf

以下是设置:

  1. 字体文件:
  2. enter image description here

    1. assets.rb

      Rails.application.config.assets.paths << Rails.root.join('app', 'vendor', 'assets', 'fonts')
      Rails.application.config.assets.precompile << /\.(?:svg|eot|woff|ttf)\z/
      
    2. 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;
      }
      
    3. 正如我所说,一切都在发展中运作良好。我尝试了很多东西。例如:

      1. 移动公用文件夹中的字体(因为我的图像已加载)
      2. assets.rb中添加以下行:

        Rails.application.config.assets.precompile += [/^[-_a-zA-Z0-9]*\..*/]
        
      3. 但没有任何效果。

        你能告诉别的事吗?

1 个答案:

答案 0 :(得分:6)

ls public/assets生产中的输出是什么?

可能你的文件带有摘要(例如fontello-XXXX.ttf)。在这种情况下,你必须在你的sass(而不是css)中使用font helpers - ex。在您的font-family块中:src:font-url('fontello.ttf')