gpt4 book ai didi

带 url-loader 的 Webpack 内联字体

转载 作者:行者123 更新时间:2023-12-02 10:48:50 25 4
gpt4 key购买 nike

我正在尝试将一些字体内联为 base64 编码的数据 URI,但我对 Webpack 的 url-loader 不太满意。这很奇怪,因为 url-loader 似乎只是为我的图像和 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]'
},
]
}

字体.css

@font-face {
font-family: FontAwesome;
font-weight: normal;
font-style: normal;
src: url('../fonts/icon-fonts/fontawesome.woff2') format('woff2');
}

ma​​in.component.js

import fonts from '../assets/styles/fonts.css'
import React from 'react'

export class App extends React.Component {
...
}

输出

output

最佳答案

不确定 url-loader 是否能够内联字体,但我的猜测不是。您可以使用base64-inline-loader以此目的。

注意:

显示的示例对我不起作用,因为它无论如何都会导出文件。

{
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'
}

关于带 url-loader 的 Webpack 内联字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41657087/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com