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

SWC

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

在 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 速度非常快,因为它在开发过程中不进行打包。

🤝 贡献

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

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

📝 许可证

Copyright © 2020 @Karibash.

本项目采用 MIT 许可证。