gpt4 book ai didi

javascript - 如何配置 webpack 以将自定义字体加载到故事书中?

转载 作者:行者123 更新时间:2023-12-04 04:17:55 26 4
gpt4 key购买 nike

我是 webpack 的新手,我正在尝试按照本教程将自定义字体加载到 stroybook v4 https://medium.com/@mushti_dev/hey-e6faa20b910a

工作区结构如下所示(create-react-app + storybook)

my-project/
.storybook
config.js
preview-hrad.html
webpack.config.js
fonts
MyCustomFont.woff
src
components
Title.js
containers
styles
MyCustomFont.woff
index.js
stories

加载字体时样式文件夹 在 src 中,配置如下:

webpack.config.js

const path = require('path');

module.exports = async ({ config }) => {
// fonts
config.module.rules.push({
test: /\.(png|woff|woff2|eot|ttf|svg)$/,
use: [
{
loader: 'file-loader',
query: {
name: '[name].[ext]',
}
}
],
include: path.resolve(__dirname, '../')
});

return config;
};

预览-head.html

<style type="text/css">
@font-face {
font-family: 'MyCustomFont';
src: url('styles/MyCustomFont.woff') format('woff');
font-weight: normal;
font-style: normal;
}
</style>

标题.js

import React from 'react';

const Title = ({ title }) => {
return (
<div>
<h2 style={{fontFamily: 'MyCustomFont'}}>{title}</h2>
</div>
);
};

export default Title;

我的问题是如何从 加载 MyCustomFont.woff字体文件夹 ?

我尝试使用 name: 'fonts/[name].[ext]', 更新 webpack 配置和 src: url('fonts/MyCustomFont.woff') format('woff'); 的 css 样式但我很难匹配正确的字体路径。

最佳答案

我刚刚在 storybook v6.1 上遇到了这个问题,然后意识到实际上有两个字体区域需要设置:

  • iframe 预览字体(preview-head.html 中的组件预览字体)
  • 故事书仪表板字体(manager-head.html 中的仪表板导航字体)

  • What I did:


  • 复制preview-head.html并重命名为 manager-head.html
  • 确保 @font-face 中指定的字体 url相对于在 npm 脚本中指定的静态文件夹路径,-s
  • 我没有更改 main.js 中的 webpack 配置

  • my folder structure


    |- .storybook/
    |- ...
    |- preview-head.html
    |- manager-head.html
    |- src/
    |- ...
    |- fonts/
    |- font-name.otf

    preview-head.html and manager-head.html


    <style type="text/css">
    @font-face {
    font-family: 'font-name';
    src: url('fonts/font-name.otf') format('opentype');
    ...
    }
    </style>

    package.json


    {
    ...
    "scripts": {
    ...
    "storybook": "start-storybook ... -s ./src",
    "build-storybook": "build-storybook -s ./src"
    }
    }

    关于javascript - 如何配置 webpack 以将自定义字体加载到故事书中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60185735/

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