文档
Storybook 文档

升级 Storybook

前端生态系统变化迅速。定期依赖项升级是一种生活方式,无论是升级框架、库、工具,还是所有这些!Storybook 提供了一些资源来帮助减轻升级的痛苦。

升级脚本

最常见的升级是 Storybook 本身。Storybook 版本遵循语义化版本控制。我们持续发布包含错误修复的补丁版本,每隔几个月发布包含新功能的 Storybook 次要版本,以及大约每年一次发布包含重大更改的 Storybook 主要版本。

为了帮助减轻保持 Storybook 更新的痛苦,我们提供了一个命令行脚本

npx storybook@latest upgrade

upgrade 命令将使用您指定的任何版本。例如

  • storybook@latest upgrade 将升级到最新版本
  • storybook@7.6.10 upgrade 将升级到 7.6.10
  • storybook@7 upgrade 将升级到最新的 7.x.x 版本

运行命令后,脚本将

  • 将项目中的所有 Storybook 包升级到指定的版本
  • 运行相关的自动迁移,考虑到当前版本和指定版本之间的重大更改

除了运行命令外,我们还建议查看MIGRATION.md 文件,以获取可能影响您升级的相关更改和弃用的详细日志。

验证升级

为了帮助您验证升级是否完成以及您的项目是否仍然按预期工作,Storybook CLI 提供了 doctor 命令,该命令允许您对项目进行健康检查,以查找升级后可能出现的常见问题,例如重复的依赖项、不兼容的插件或版本不匹配。要执行健康检查,请使用您选择的包管理器运行以下命令

npx storybook@latest doctor

自动迁移脚本

Storybook 升级不是唯一需要考虑的事情:生态系统中的变化也带来了挑战。例如,著名的前端框架,如 AngularNext.jsSvelte 已经发布了对其生态系统的重大更改,因此即使您不升级 Storybook 版本,您也可能需要相应地更新您的配置。这就是 Automigrate 的用途

npx storybook@latest automigrate

它运行一组标准配置检查,解释了哪些可能已过时,并提供为您自动修复它的功能。它还指向相关文档,以便您可以了解更多信息。它作为 storybook upgrade 命令的一部分自动运行,但如果您不想升级 Storybook,它也可以单独使用。

预发布版本

除了以上内容,Storybook 还在不断开发中,我们几乎每天都会发布预发布版本。预发布版本是在新功能普遍可用之前尝试它们的最佳方式,我们尽最大努力保持它们的稳定性,尽管这并非总是可能。

要升级到最新的预发布版本

npx storybook@next upgrade

upgrade 命令将使用您指定的任何版本。例如

  • storybook@next upgrade 将升级到最新的预发布版本
  • storybook@8.0.0-beta.1 upgrade 将升级到 8.0.0-beta.1
  • storybook@8 upgrade 将升级到最新的 8.x 版本

如果您想降级到稳定版本,请手动编辑 package.json 中的包版本号并重新安装。

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