使用webpacker加载字体和图像

时间:2018-05-23 12:31:40

标签: javascript ruby-on-rails webpack webpacker react-on-rails

我尝试使用Webpacker简单地将资源(字体/图像)加载到Rails项目中。事实证明它比应该更加困难。

我在Rails 11.0.4,Rails 5.1.6和Webpacker 3.5.3上使用了React。

我已尝试创建自定义加载程序文件以附加到webpack配置,如引用here

// file.js

module.exports = {
  test: /\.(ttf|eot|otf)$/,
  use: {
    loader: "file-loader",
    options: {
      name: "fonts/[name].[ext]",
    }
  }
}

// environment.js

const { environment } = require('@rails/webpacker')
const file = require('./file')

environment.loaders.prepend('file', file)

module.exports = environment

我已经尝试了here概述的所有4个选项。

我尝试过使用资产管道,但这似乎不再有效。

在我这么多年里,我从来没有因为如此简单的事情而如此接近​​泪水。难道这不简单吗?我是唯一一个对此有这么多麻烦的人?

1 个答案:

答案 0 :(得分:1)

我帮助你

{
        test: /\.(woff(2)?|eot|otf|ttf|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/,
        exclude: path.resolve(__dirname, '../../app/assets'),
        use: {
          loader: 'file-loader',
          options: {
            outputPath: 'fonts/',
            useRelativePath: false
          }
        }
      },
      {
        test: /\.(png|jpg(eg)?|gif|ico)$/,
        exclude: path.resolve(__dirname, '../../app/assets'),
        use: {
          loader: 'file-loader',
          options: {
            outputPath: 'images/',
            useRelativePath: false
          }
        }
      },