文档
Storybook 文档

安装 Storybook

使用 Storybook CLI 通过单个命令安装它。在您的项目根目录中运行此命令

npm create storybook@latest
安装特定版本

对于安装 Storybook 8.3 或更高版本,您可以使用带有特定版本的 create 命令

npm create storybook@8.3

要安装低于 8.3 版本的 Storybook,您必须使用 init 命令

npx storybook@8.2 init

对于任一命令,您可以指定 npm 标签(例如 latestnext)或(部分)版本号。例如

  • storybook@latest init 将初始化最新版本

  • storybook@7.6.10 init 将初始化 7.6.10

  • storybook@7 init 将初始化最新的 7.x.x 版本

Storybook 将在其安装过程中查看您项目的依赖项,并为您提供最佳可用配置。

上面的命令将对您的本地环境进行以下更改

  • 📦 安装所需的依赖项。
  • 🛠 设置必要的脚本以运行和构建 Storybook。
  • 🛠 添加默认的 Storybook 配置。
  • 📝 添加一些样板 stories 以帮助您入门。
  • 📡 设置遥测以帮助我们改进 Storybook。阅读更多关于它的信息 此处
观看视频教程

运行设置向导

如果一切顺利,您应该会看到一个设置向导,它将帮助您开始使用 Storybook,向您介绍主要概念和功能,包括 UI 的组织方式、如何编写您的第一个 story 以及如何利用控件测试组件对各种输入的响应。

Storybook onboarding

如果您跳过了向导,您可以随时通过将 ?path=/onboarding 查询参数添加到您的 Storybook 实例的 URL 再次运行它,前提是示例 stories 仍然可用。

启动 Storybook

Storybook 附带一个内置的开发服务器,其中包含项目开发所需的一切。根据您的系统配置,运行 storybook 命令将启动本地开发服务器,为您输出地址,并自动在新浏览器标签页中打开该地址,欢迎屏幕将在那里迎接您。

npm run storybook

Storybook 收集完全匿名的数据,以帮助我们改善用户体验。参与是可选的,如果您不想分享任何信息,可以选择退出

Storybook welcome screen

这里有一些值得注意的项目

  • 一组有用的链接,用于更深入的配置和您可以使用的自定义选项。
  • 第二组链接供您扩展您的 Storybook 知识并参与不断发展的 Storybook 社区。
  • 一些示例 stories 以帮助您入门。

故障排除

使用其他包管理器运行 Storybook

Storybook CLI 包括对行业流行的包管理器(例如,Yarnnpmpnpm)的支持,当您初始化 Storybook 时,它会自动检测您正在使用的包管理器。但是,如果您想使用特定的包管理器作为默认管理器,请将 --package-manager 标志添加到安装命令。例如

npm create storybook@latest --package-manager=npm

CLI 未检测到我的框架

如果您正在使用自定义环境设置或需要手动设置 Storybook,您可以使用 --type 标志来指定您需要使用的框架。下面列出了支持的框架以及如何使用它们的示例

框架类型
Angularangular
Emberember
HTMLhtml
Next.jsnextjs
Preactpreact
Qwikqwik
Reactreact
Serverserver
Solidsolid
Sveltesvelte
Vue 3vue3
Web Componentsweb_components
npm create storybook@latest --type solid

Yarn Plug'n'Play (PnP) 对 Storybook 的支持

如果您在启用了 Plug'n'Play (PnP) 的新版 Yarn 上运行的项目中启用了 Storybook,您可能会注意到它会生成带有某些附加文件和文件夹的 node_modules。这是一个已知限制,因为 Storybook 依赖于某些目录(例如,.cache)来存储缓存文件和其他数据,以提高性能和更快的构建速度。您可以安全地忽略这些文件和文件夹,并调整您的 .gitignore 文件以将它们从您正在使用的版本控制中排除。

使用 Webpack 4 运行 Storybook

如果您之前在使用了 Webpack 4 的项目中安装了 Storybook,它将不再工作。这是因为 Storybook 现在默认使用 Webpack 5。要解决此问题,我们建议您将您的项目升级到 Webpack 5,然后运行以下命令将您的项目迁移到最新版本的 Storybook

npx storybook@latest automigrate

Storybook 在空目录中无法工作

默认情况下,Storybook 配置为检测您是在空目录还是现有项目中初始化它。但是,如果您尝试初始化 Storybook,在仅包含 package.json 文件的目录中选择基于 Vite 的框架(例如,React),您可能会遇到 Yarn Modern 的问题。这是由于 Yarn 处理对等依赖项的方式以及 Storybook 设置为与基于 Vite 的框架配合使用的方式,因为它需要安装 Vite 包。要解决此问题,您必须手动安装 Vite 并初始化 Storybook。

安装过程似乎不稳定且不断失败

如果您在安装过程中仍然遇到一些问题,我们鼓励您查看以下资源

  • Storybook 的 React Vite 框架文档,以获取有关如何在具有 Vite 的 React 项目中设置 Storybook 的更多信息。
  • Storybook 的 React Webpack 框架文档,以获取有关如何在具有 Webpack 5 的 React 项目中设置 Storybook 的更多信息。
  • Storybook 的帮助文档,以联系社区并寻求帮助。

现在您已经成功安装了 Storybook 并了解了它的工作原理,让我们继续您在设置向导中停止的地方,并更深入地研究编写 stories。