UNPKG

rerumaccusamus

Version:

The meta-framework suite designed from scratch for frontend-focused modern web development.

78 lines (51 loc) 1.92 kB
--- title: ​用 Storybook 调试组件 --- 前几个小节中,我们已经开发了一个简单的 UI 组件。组件开发完后,一般我们需要对它进行调试。 除了可以直接在项目中进行调试以外,我们还可以使用 [**Storybook**](https://storybook.js.org/) 进行调试。 Modern.js 提供了开箱即用的 Storybook 能力,可以识别 MWA 项目下 Story 文件。 我们执行 `pnpm run new`,启用该模式: ```bash # 启用可选功能 ... 启用「单元测试 / 集成测试」功能 ❯ 启用「Visual Testing (Storybook)」模式 ``` 安装成功后,我们需要为我们的组件添加 Story 文件。 :::info 补充信息 Story 文件是指 `*.stories.[t|j]sx?` 格式的文件。 ::: 这里我们为 `Avatar` 组件 添加 `src/components/Avatar/index.stories.tsx` Story 文件。 import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; <Tabs> <TabItem value="macOS" label="macOS" default> ```bash touch src/components/Avatar/index.stories.tsx ``` </TabItem> <TabItem value="Windows" label="Windows"> ```powershell ni src/components/Avatar/index.stories.tsx ``` </TabItem> </Tabs> 内容如下: ``` javascript import Avatar from '.'; export const DanielTaylorAvatar = () => ( <Avatar src="https://avatars.dicebear.com/v2/identicon/Daniel Taylor.svg" /> ); export default { title: 'Avatar Demo', }; ``` 然后我们启动 Storybook 调试: ``` bash pnpm run dev story ``` 然后我们可以看到如下界面: ![storybook demo](https://lf3-static.bytednsdoc.com/obj/eden-cn/aphqeh7uhohpquloj/modern-js/docs/06/mwa-storybook-demo.png) 如果需要配置 Storybook,则需要在 [`config/storybook/**`](/docs/apis/hooks/mwa/config/storybook) 目录下进行配置。 --- > 本小节的代码可以在[这里查看](https://github.com/modern-js-dev/modern-js-examples/tree/main/tutorials/c06/hello-modern-5)。