包组合
Storybook 被组件库和设计系统广泛使用。设计系统作者可以在其使用者 Storybook 中自动组合其设计系统。
例如,如果您使用设计系统包,其故事可以与您自己的故事一起显示。这使得在不离开 Storybook 的情况下方便地交叉引用使用文档。
通过包进行组合需要在您发布 Storybook 的服务和 Storybook 自身的 API 之间进行安全集成。我们建议将 Storybook 发布到 Chromatic以全面支持这些功能。
对于使用者
如果包支持,则组合会自动发生。当您安装包时,Storybook 将加载其故事以及您自己的故事。
设置
如果要配置组合后的 Storybook 的行为方式,可以在.storybook/main.js
中禁用ref
元素
.storybook/main.ts
// Replace your-framework with the framework you are using (e.g., react-webpack5, vue3-vite)
import type { StorybookConfig } from '@storybook/your-framework';
const config: StorybookConfig = {
framework: '@storybook/your-framework',
stories: ['../src/**/*.mdx', '../src/**/*.stories.@(js|jsx|mjs|ts|tsx)'],
refs: {
'package-name': { disable: true },
},
};
export default config;
切换版本
更改组合后的 Storybook 的版本以查看库的演变。这需要包作者进行配置。
对于作者
组件库作者可以通过在其使用者的 Storybook 中组合其组件来扩展采用。
在您发布的package.json
中添加一个storybook
属性,其中包含一个具有url
字段的对象。将 URL 字段指向您想要版本的已发布 Storybook。
// Your component library’s package.json
{
"storybook": {
"url": "https://host.com/your-storybook-for-this-version"
}
}
自动版本选择
如果您使用Chromatic,则可以在storybook.url
字段中提供 Storybook 的单个 URL。每次发布新版本时,您无需更改 URL。Storybook 将自动找到包的正确 URL。例如
{
"storybook": {
"url": "https://master--xyz123.chromatic.com"
}
}
在此示例中,xyz123
是您的 Chromatic 项目 ID。Storybook 将自动组合到发布到该项目的 Storybook 中,该项目对应于用户已安装的版本。