返回博客

零配置 Storybook

简单设置,即时提升效率

loading
Michael Shilman
@mshilman
最后更新

Storybook 最大的优点也是它的缺点。

从 Airbnb 到 BBC,成千上万的顶尖团队选择 Storybook,因为它与各种框架和技术栈兼容。不幸的是,丰富的配置选项可能会让 Storybook 设置起来很麻烦。

作为维护者,我们的目标是让您快速完成设置,同时为高级团队保留强大的配置选项。这就是为什么我很高兴分享新的 6.0 功能,它们是朝着零配置 Storybook 迈出的巨大一步。

  • 🧰 内置 TypeScript 支持: 开箱即用的 TS 兼容性。
  • 💎 Storybook Essentials: 适用于每个项目的最佳实践插件。
  • 🔌 项目集成: 流行应用框架的预设。

🗡 灵活性是一把双刃剑

Storybook 可以配置以匹配任何构建设置。它拥有一个广阔的 API 和丰富的插件生态系统,可满足无数用例。

灵活性使 Storybook 能够适应大型公司和有抱负的初创公司不断变化的需求。但 Storybook 的初始设置对于新用户来说可能令人生畏。

理想情况下,Storybook 设置是零配置的,但对于大型项目来说可以完全调整。在过去的一年里,团队在实现零配置方面取得了巨大进展。

现在在 6.0 中,集成 Storybook 变得更加容易。

🧰 内置 TypeScript

Storybook 6.0 使用 Babel 转译支持 TypeScript,并可选地使用 fork-ts-checker-webpack-plugin 进行异步类型检查。这类似于 Create React App 使用的方式。

包括 NextJS、React Native CLI、Expo、Yarn、Jest、Apollo 和 Storybook 本身在内的流行工具都在持续采用 TypeScript。创建一个无缝的 TS 体验对于 Storybook 未来的成功至关重要。

现在,当您将 Storybook 添加到您的 TS 项目时,它就能正常工作。有关更多信息和高级选项,请参阅文档

💎 Storybook Essentials

Storybook 得益于数百个第三方插件而可以完全自定义,这些插件可以完成从可访问性检查到设计交付的所有事情。

Storybook Essentials 是核心团队精心策划的一系列插件,被认为是 Storybook 开箱即用体验的核心。它们紧密集成,并随新的 Storybook 安装默认提供。

Essentials 当前包括以下内容

  • 文档:使用您的 stories 生成最佳实践的自动化文档
  • Controls:调整组件属性以探索不同状态
  • Actions:记录 UI 操作以验证组件的交互行为
  • Viewport:查看组件在不同设备视口下的响应行为
  • Backgrounds:查看组件在不同背景颜色和样式下的表现
  • Toolbars:用于主题化、i18n 等的自定义工具栏 UI

我们将优先维护、支持、编写文档和确保 Essentials 的互操作性。我们还将尽最大努力确保它们与数百个其他 Storybook 插件以及诸如 Chromatic 等托管 Storybook 服务顺畅协作。

文档中了解更多关于 Essentials 的信息。

🔌 项目集成

Storybook 设置变得更容易的最后一种方式是通过集成,它们可以预配置 Storybook,使其与流行的应用框架无缝协作。

我们很高兴看到一波新的第三方集成(🔥),它们正由应用框架社区自身开发、发布和维护。

以下是按框架分类的集成列表

如果您想就新的集成进行合作,请在 Twitter 上私信我

⚡ 1 分钟安装

立即在 Storybook 6.0 中试用内置 Typescript 和 Essentials。

您可以将 Storybook 引导到现有应用程序中

npx sb init

如果它是 Typescript 应用程序,则应该无需额外配置即可立即使用。Essentials 也预装好了。

或者,升级现有 Storybook

npx sb upgrade

Typescript 是内置的,因此如果您已为 Storybook 配置了 typescript,则应该移除该配置

升级后,您可以使用 npmyarn 安装 Essentials 并更新您的 .storybook/main.js

$ yarn add @storybook/addon-essentials --dev

// main.js
module.exports = {
  addons: ['@storybook/addon-essentials'],
};

参与其中

Typescript 支持由 Brody McKeeMichael Shilman(我!)添加。Essentials 由 Michael ShilmanZoltan OlahTom ColemanClément Dungler 开发。

Storybook 由 1000 多名开源贡献者维护,并由顶尖维护者组成的指导委员会指导。如果您有兴趣做出贡献,请在 GitHub 上查看 Storybook,创建 issue 或提交 pull request。在 Open Collective 上捐赠。在 Discord 中与我们聊天——通常会有维护者在线。

加入 Storybook 邮件列表

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

7,180开发者及还在增长

我们正在招聘!

加入 Storybook 和 Chromatic 背后的团队。构建被数十万开发者用于生产环境的工具。远程优先。

查看职位

热门文章

Storybook 6 迁移指南

提升您的组件开发平台
loading
Michael Shilman

Storybook 6.0

生产级组件开发
loading
Michael Shilman

Storybook Controls

无需代码即可实时编辑 UI 组件
loading
Michael Shilman
加入社区
7,180开发者及还在增长
原因为什么选择 Storybook组件驱动的 UI
文档指南教程更新日志遥测
社区插件参与其中博客
案例探索项目组件术语表
开源软件
Storybook - Storybook 中文

特别感谢 Netlify CircleCI