返回博客

Storybook 5 迁移指南

轻快地跃入美好的全新开发者体验

loading
Michael Shilman
@mshilman
最后更新

这份逐步指南将引导您迁移到 Storybook 5.0 (SB5)

如果您是 Storybook 的活跃用户,在仅仅几个月前将您的 Storybook 升级到 4.0 之后,您可能会不耐烦。

我很高兴地告诉您,与之前相比,5.0 版本的升级简直是小菜一碟。您最大的转变将是习惯 Storybook 华丽而实用的新设计。完全值得。

本指南将带您了解

  1. 升级 Storybook 包
  2. 处理重大更改
  3. 适应新的 UI

步骤 1:包升级

首先要做的是升级您的 Storybook 包,@storybook/*

注意: 如果您是从 3.x 版本升级,我建议您先按照 Storybook 4 升级指南 进行操作,然后再回到这里。Storybook 4 包含了对 BabelWebpack 的重大升级,这是一个相当具有破坏性的更改。一旦您完成了这些,5.x 版本的升级应该会一帆风顺。

所以从现在开始,我假设您是从 4.x 版本升级。

如果您使用 yarn,您可以像这样交互式升级

yarn upgrade-interactive --latest

或者如果您使用 npm,这将完成任务

npx npm-check-updates '/storybook/' -u && npm install

然后尝试运行 Storybook

yarn storybook

如果浏览器打开并且看起来大致正常,那么您已经完成了大部分工作,您可以跳到步骤 3。


步骤 2:修复重大更改

如果您没有看到您的 Storybook,那么是时候找出哪些重大更改让您遇到了麻烦。此版本是 semver 主要版本,因此有一些。

查看终端和浏览器控制台中的错误消息应该能给您一些关于哪里出错的线索。

话虽如此,以下是一些您应该了解的更改

✅ 您是否在“完全控制”模式下使用自定义 webpack 配置?如果是,我们简化了 SB5 中的 API,这是一个重大更改。

✅ 您是否在“扩展”模式下使用自定义 webpack 配置?如果是,我们在 5.0.0 版本中意外地更改了行为,然后在 5.0.2 版本中恢复了 4.x 版本的行为并弃用了扩展模式

✅ 您是否使用主题?我们重新设计了 SB5 中的主题

✅ 您是否使用 options 插件?我们在 SB5 中弃用了它,转而使用 story 参数(但现在它仍然应该可以工作)。

✅ 您是否使用 backgrounds / viewport / a11y 插件?现在使用参数配置它们(背景 / 视口 / a11y

✅ 您是否使用键盘快捷键?我们在 SB5 中改进了它们(但键盘快捷键现在是可配置的,所以如果您想念旧的快捷键,您可以使用旧的)。

✅ 您是否依赖 Storybook URL 结构?我们在 SB5 中改进了它(但保持了对 selectedKind/selectedStory 的向后兼容性)。


步骤 3:成功!

您的 Storybook 现在可以工作了吗?那么是时候查看 Storybook 的新功能了。Storybook 5 拥有一个完全重新设计的 UI,具有以下亮点

  • 美观的新设计,精心制作了浅色和深色主题
  • 新的画布工具栏,可快速直观地访问插件
  • 经过改进的导航侧边栏,具有更好的菜单
  • 重新设计的插件面板,带有方便的按钮来切换可见性
  • 改进的键盘快捷键,也是用户可配置的

了解 Storybook 的新设计 中熟悉新的 UI,并在您自己的项目中体验所有新功能。

就这样!

希望此时您已成功升级到 SB5。如果是这样,祝贺您,欢迎体验组件开发体验的史诗级升级!

如果您在完成本指南时遇到问题,或者完成了指南但仍然有问题,请执行以下步骤

  1. 在我们的 Github issues 中搜索您的问题 — 其他人可能也遇到了同样的问题。
  2. 创建一个新的 issue 描述您的问题,最好提供一个指向我们可以重现该问题的公共仓库的链接。
  3. 加入我们的公共 Discord 并在 #support 频道上提问。我们是一个友好的社区,希望帮助您完成升级。

来自 Storybook 团队的 ❤️

加入 Storybook 邮件列表

获取最新的新闻、更新和版本

6,730位开发者和计数中

我们正在招聘!

加入 Storybook 和 Chromatic 背后的团队。构建被成千上万开发者在生产环境中使用的工具。远程优先。

查看职位

热门文章

Storybook Docs 抢先看

将 stories 变成鲜活的文档
loading
Michael Shilman

Storybook 5.1

React Native • 可访问性 • Context • 预设 • 文档更新
loading
Michael Shilman

Storybook 5.0

欢迎来到组件开发的未来!
loading
Michael Shilman
加入社区
6,730位开发者和计数中
为什么为什么选择 Storybook组件驱动的 UI
文档指南教程更新日志遥测
社区插件参与进来博客
案例展示探索项目组件词汇表
开源软件
Storybook - Storybook 中文

特别感谢 Netlify CircleCI