close
logo
Rslib
指南
配置
博客
English
简体中文
指南
配置
博客
English
简体中文
logo
Rslib

开始

介绍
快速上手
名词解释
NPM 包

解决方案

Node.js
React
Vue

基础

命令行工具
配置 Rslib
使用 TypeScript
产物输出格式
产物结构
升级 Rslib

进阶

处理三方依赖
产物兼容性
类型生成
引用静态资源
引用 SVGR
引用 JSON 文件
模块联邦
使用 Storybook

迁移

Modern.js Module
tsup

常见问题

功能类问题
📝 在 GitHub 上编辑此页
上一页模块联邦
下一页Modern.js Module

#使用 Storybook

Storybook 是一个为 React、Vue 等框架独立开发 UI 组件的强大的工具,它能够独立构建和测试组件,从而提升开发和测试效率。

storybook-rsbuild 是 Rsbuild 支持的 Storybook 构建器,并集成了 React、Vue 3 框架和原生 JavaScript。统一使用 Rsbuild 构建系统可以使 Storybook 与 Rslib 使用统一的构建配置。

TIP

你可以通过 create-rslib 创建一个新项目。

#快速开始

#创建一个 Rslib 项目

这是设置 Storybook 的前提条件。你需要有一个包含组件的 Rslib 项目,并希望在 Storybook 中展示这些组件,请查看 解决方案 以设置 Rslib 项目。

#将 Storybook 添加到项目中

使用现有的 Rslib 项目设置 Storybook。为了使用 React、Vue 3、原生 JavaScript 或其他框架,必须首先安装适当的 Storybook 框架包。有关安装说明,可以查阅 Storybook Rsbuild 文档。

以 React 为例,在这一步你需要:

  1. 安装 Storybook Rsbuild React 框架的依赖。必要的依赖包括

    • storybook:Storybook core 包。
    • @storybook/react:React 渲染器。
    • @storybook/addon-docs:用于生成文档。
    • @storybook/addon-onboarding:Storybook 的交互式上手体验。
    • @rsbuild/core:Storybook 构建器。
    • storybook-addon-rslib:此插件将使 Storybook Rsbuild 能够从 Rslib 配置文件中继承 Rsbuild 配置。 该插件将自动读取 Rslib 配置并将其应用于 Storybook Rsbuild,确保配置统一。你可以查看 storybook-addon-rslib 文档以了解可用选项。
    npm
    yarn
    pnpm
    bun
    npm add storybook @storybook/react @storybook/addon-docs @storybook/addon-onboarding storybook-addon-rslib @rsbuild/core -D

    每个框架的依赖各不相同,可查阅 Storybook Rsbuild 文档 了解详细信息。在这个 React 示例中,我们将安装 storybook-react-rsbuild 作为框架集成。

    React
    Vue
    npm
    yarn
    pnpm
    bun
    npm add storybook-react-rsbuild -D
  2. 配置 Storybook 配置文件 .storybook/main.js,指定 stories 和 addons,并使用相应的框架集成设置框架。

    .storybook/main.js
    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
    };
  3. 向 stories 目录添加一个简单的 story。例如,创建一个 Button.stories.js 文件,内容如下:

    stories/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',
      },
    };
TIP

如果你使用的是 Yarn Plug-n-Play 或者你的项目是在 monorepo 环境中设置的,你可能会遇到模块解析问题。在这种情况下,你可以添加一个 getAbsolutePath('storybook-addon-rslib') 函数来解析插件。有关更多信息,请查看 Storybook 的 FAQ。

大功告成,你可以使用以下命令启动和构建 Storybook 服务器:

npx storybook dev   // 开发模式
npx storybook build // 构建静态文件

查看 Storybook Rsbuild 文档 和 Storybook 文档 以了解更多信息。

#示例

  • React 组件库 + Rslib + Storybook
  • Vue 组件库 + Rslib + Storybook