如何使用Webpack 1.14导入本地版本的Google Material Icons .woff2?

时间:2017-02-24 13:38:51

标签: javascript node.js fonts webpack

我正在从同一文件夹导入Google Fonts .woff2文件而没有问题,但导入材料图标文件证明不能使用相同的设置。 .woff2文件根本不会显示在Developer Tools下的源代码中。我正在Electron建立我的项目。

我已根据Google实施指南中的Method 2实施了其余设置:https://google.github.io/material-design-icons/#icon-font-for-the-web

这有什么明显的错误吗?我还看到了一些npm软件包,以便更容易,但我不清楚它们如何使它更容易。感谢您提供的任何帮助。

我的Webpack字体加载器

  module: {
    loaders: [
      {
        test: /\.global\.css$/,
        loaders: [
          'style-loader',
          'css-loader?sourceMap'
        ]
      },
      {
        test: /^((?!\.global).)*\.css$/,
        loaders: [
          'style-loader',
          'css-loader?modules&sourceMap&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]'
        ]
      },

      { test: /\.woff(\?v=\d+\.\d+\.\d+)?$/, loader: 'url?limit=10000&mimetype=application/font-woff' },
      { test: /\.woff2(\?v=\d+\.\d+\.\d+)?$/, loader: 'url?limit=10000&mimetype=application/font-woff' },
      { test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/, loader: 'url?limit=10000&mimetype=application/octet-stream' },
      { test: /\.eot(\?v=\d+\.\d+\.\d+)?$/, loader: 'file' },
      { test: /\.svg(\?v=\d+\.\d+\.\d+)?$/, loader: 'url?limit=10000&mimetype=image/svg+xml' },
    ]
  },

1 个答案:

答案 0 :(得分:1)

我正在与同样的问题作斗争。最后我决定使用文件加载器而不是url loader,这是适用于我的设置

webpack文件:

...
     }, {
         test: /\.woff2$/,
         loader: 'file-loader?name=[name].[ext]'
     }, {
...

然后在css文件中加载字体文件:

@font-face {
    font-family: 'MyFontName';
    src: url('../path_to_font/font_name.woff2') format('truetype');
    font-weight: normal;
    font-style: normal;
}

然后您可以使用您的字体:font-family: 'MyFontName';

此设置的重要之处在于url文件中的css - 字体文件的路径必须与您使用字体的css文件相关