Storybook 是一个为 React、Vue 等框架独立开发 UI 组件的强大的工具,它能够独立构建和测试组件,从而提升开发和测试效率。
storybook-rsbuild 是 Rsbuild 支持的 Storybook 构建器,并集成了 React、Vue 3 框架和原生 JavaScript。统一使用 Rsbuild 构建系统可以使 Storybook 与 Rslib 使用统一的构建配置。
你可以通过 create-rslib 创建一个新项目。
这是设置 Storybook 的前提条件。你需要有一个包含组件的 Rslib 项目,并希望在 Storybook 中展示这些组件,请查看 解决方案 以设置 Rslib 项目。
使用现有的 Rslib 项目设置 Storybook。为了使用 React、Vue 3、原生 JavaScript 或其他框架,必须首先安装适当的 Storybook 框架包。有关安装说明,可以查阅 Storybook Rsbuild 文档。
以 React 为例,在这一步你需要:
安装 Storybook Rsbuild React 框架的依赖。必要的依赖包括
npm add storybook @storybook/react @storybook/addon-docs @storybook/addon-onboarding storybook-addon-rslib @rsbuild/core -D每个框架的依赖各不相同,可查阅 Storybook Rsbuild 文档 了解详细信息。在这个 React 示例中,我们将安装 storybook-react-rsbuild 作为框架集成。
npm add storybook-react-rsbuild -D配置 Storybook 配置文件 .storybook/main.js,指定 stories 和 addons,并使用相应的框架集成设置框架。
export default {
stories: [
'../stories/**/*.mdx',
'../stories/**/*.stories.@(js|jsx|mjs|ts|tsx)',
],
addons: [
'@storybook/addon-docs',
'@storybook/addon-onboarding',
'storybook-addon-rslib',
],
framework: 'storybook-react-rsbuild', // 例如 storybook-react-rsbuild
};向 stories 目录添加一个简单的 story。例如,创建一个 Button.stories.js 文件,内容如下:
import { Button } from '../src/Button';
const meta = {
title: 'Example/Button',
component: Button,
};
export default meta;
export const Primary = {
args: {
primary: true,
label: 'Button',
},
};
如果你使用的是 Yarn Plug-n-Play 或者你的项目是在 monorepo 环境中设置的,你可能会遇到模块解析问题。在这种情况下,你可以添加一个 getAbsolutePath('storybook-addon-rslib') 函数来解析插件。有关更多信息,请查看 Storybook 的 FAQ。
大功告成,你可以使用以下命令启动和构建 Storybook 服务器:
npx storybook dev // 开发模式
npx storybook build // 构建静态文件查看 Storybook Rsbuild 文档 和 Storybook 文档 以了解更多信息。