加入直播:美国东部时间周四上午 11 点,Storybook 9 发布及问答

SWC

用于启用 SWC 构建的 Storybook 插件。

在 Github 上查看

storybook-addon-swc

npm version codecov license Github Twitter

一个 Storybook 插件,通过使用 swc 构建来提高构建时间。

🗒 示例

🚀 安装

$ npm install -D storybook-addon-swc @swc/core

👏 入门

编辑 .storybook/main.js 文件并注册该插件。

module.exports = {
  addons: [
    'storybook-addon-swc',
  ],
};

🔧 配置

可以根据需要传递其他配置选项。

module.exports = {
  addons: [
    {
      name: 'storybook-addon-swc',
      options: {
        enable: true,
        enableSwcLoader: true,
        enableSwcMinify: true,
        swcLoaderOptions: {},
        swcMinifyOptions: {},
      },
    },
  ],
};

选项

名称 描述 类型 默认值
enable 如果设置为 false,该插件将被禁用。 boolean true
enableSwcLoader 如果设置为 false,则禁用 swc-loader 并使用 babel-loader。 boolean true
enableSwcMinify 如果设置为 false,则禁用使用 swc 进行压缩,并使用传统的 terser 进行压缩。 boolean true
swcLoaderOptions swc loader 的选项。 object 参见
swcMinifyOptions swc minify 的选项。 object 参见

SWC 插件

SWC 插件功能仍处于实验阶段,但可以通过如下方式更改设置来使用。

module.exports = {
  addons: [
    {
      name: 'storybook-addon-swc',
      options: {
        swcLoaderOptions: {
          jsc: {
            experimental: {
              plugins: [['plugin-name', {}]],
            },
          },
        },
      },
    },
  ],
};

🎓 备选方案

storybook-addon-turbo-build

此插件将 babel-loader 替换为 esbuild-loader。
它在 storybook-addon-swc 的开发中被用作参考。

storybook-builder-vite

此构建器将 Storybook 的构建系统从 Webpack 更改为 Vite。
Vite 非常快,因为它在开发过程中不进行打包。

🤝 贡献

欢迎贡献、提出问题和功能请求。

如果您想贡献,请随时查看 问题页面

📝 许可证

Copyright © 2020 @Karibash

本项目采用 MIT 许可。