我在使用 webpack v2 和文件加载器加载字体时遇到问题。对任何字体文件使用 url-loader 一切正常。但是,我想使用文件加载器,以便我们可以缓存字体文件,而不是将所有图像和字体存储在捆绑的 js 文件中。
我正在使用 webpack v2、css-modules 和 postcss(和 postcss-loader)。
为了让事情变得简单,我在 global.pcss 样式表中定义了@font-face,它包含在我的主 index.jsx 文件中。(这是调试此问题时的临时措施。通常所有@font-face 声明都在单独的文件中)
@font-face {
font-family: 'ProximaNova-Rg';
src: './ProximaNova-Rg';
font-weight: normal;
font-style: normlal;
}
:global html {
font-family: 'ProximaNova-Rg', Comic Sans Ms;
}
在我的 index.jsx 文件中,它是 webpack 的应用程序入口点,我导入了 global.pcss 文件
import './global/global.pcss'
global.pcss 文件中的所有其他样式都已正确应用。
我的 webpack 配置看起来像这样的字体
{
test: /\.(otf|eot|ttf|woff2?)(\?\S*)?$/,
use: 'file-loader?name=fonts/[name]-[hash].[ext],
}
如果我将上面的文件加载器换成 url-loader 字体加载正确。使用文件加载器,当我构建项目时,我可以确认文件加载器创建了正确命名的字体文件并将其移动到我的 dist 文件夹,但我的项目加载的是漫画 sans 而不是 Proxima Nova,eww。
我不知道如何继续调试。任何帮助将不胜感激。