我试图将一些字体内联为base64 64编码的数据URI,但与Webpack的url加载器没有任何进展。这是很奇怪的,因为url-加载程序似乎只是为我的图像和svg文件做的。我的设置如下:
目录结构
root/
|-src/
|--assets/
|
|----fonts/
| icon-fonts/
| fontawesome.woff2
|
|----styles/
| fonts.css
|
|--components/
| main.component.js
|...webpack.config.js
module: {
loaders: [
{
test: /\.(jpg|png|svg|woff2)$/,
exclude: /node_modules/,
loader: 'url?limit=100000&name=[name]-[sha512:hash:base64:7].[ext]'
},
]
}fonts.css
@font-face {
font-family: FontAwesome;
font-weight: normal;
font-style: normal;
src: url('../fonts/icon-fonts/fontawesome.woff2') format('woff2');
}main.component.js
import fonts from '../assets/styles/fonts.css'
import React from 'react'
export class App extends React.Component {
...
}输出

发布于 2017-11-27 15:43:53
不确定url-加载程序是否能够内联字体,但我猜并非如此。为此,您可以使用base64 64-内联装载机。
注意:
显示的示例不适用于我,因为它导出文件。
{
test: /\.(jpe?g|png|ttf|eot|svg|woff(2)?)(\?[a-z0-9=&.]+)?$/,
use: 'base64-inline-loader?limit=1000&name=[name].[ext]'
}然而,当我将名字从规则中移除时,它就像一种魅力。
{
test: /\.(jpe?g|png|ttf|eot|svg|woff(2)?)(\?[a-z0-9=&.]+)?$/,
use: 'base64-inline-loader'
}https://stackoverflow.com/questions/41657087
复制相似问题