ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Storybook 快速上手:3 步把 UI 组件变成可演示、可测试的故事

Storybook 快速上手:3 步把 UI 组件变成可演示、可测试的故事 Storybook 快速上手3 步把 UI 组件变成可演示、可测试的故事【免费下载链接】storybookStorybook is the industry standard workshop for building, documenting, and testing UI components in isolation项目地址: https://gitcode.com/GitHub_Trending/st/storybookStorybook 是一个 UI 组件开发工具让你在不启动完整应用的情况下单独展示、调试和测试前端组件。React、Vue、Angular、Svelte 项目都适用装完一条命令就能看到所有组件的演示页面。为什么需要它先看几个日常场景想改一个输入框组件得先启动整个应用、登录、点三层菜单才能看到它。设计师让你改按钮配色你改完却没法直接给她看效果只能发截图。改完代码不放心这个组件还在别处被三种不同用法引用你不确定改坏没有。Storybook 把组件放进独立工作区每个组件状态写成一条故事Story在浏览器里直接浏览、调参、测试不用碰应用业务逻辑。一条命令安装在项目根目录执行npm create storybooklatestCLI 会检查你的依赖识别框架后自动生成配置和 Button、Header、Page 三个示例组件。装完运行npm run storybook本地 6006 端口打开页面侧边栏已经列好示例故事。具体版本要求和各包管理器的变体写法见官方文档 docs/get-started/install.mdx。核心用法展示一个组件写一条故事故事是一个描述组件某种渲染状态的 JS 对象放在组件旁的.stories.ts文件里import { Button } from ./Button; export default { component: Button }; export const Primary { args: { label: Button, variant: primary }, };保存后侧边栏出现 Primary 条目点击即见渲染结果。改代码后页面自动刷新不用手动重载。实时演示交互状态Controls 面板args里的每个字段都会在右侧 Controls 面板生成对应控件——文本框、数字、开关、颜色选择器。开发时直接改控件值组件实时响应调出满意的参数组合后可以一键存成新的 story不用改代码。组件的回调事件会被 Actions 面板自动记录排查点击行为不用写console.log。自动生成组件文档Storybook 扫描组件的 TypeScript 类型标注自动产出属性表和用法示例。配合 MDX在 Markdown 里嵌入可运行代码块的格式还能补更长篇的说明文档和代码在同一个项目里不存在文档过期的问题。检查响应式与无障碍顶部工具栏的 Viewport 控件能一键切换常见设备宽度快速确认断点表现是否符合预期加上无障碍插件后每条故事还会跑 Axe 规则检查把缺失标签、对比度不足这类问题直接标出来。把故事跑成测试装上 Vitest 插件后执行npm run test-storybook每条故事自动变成一个测试用例真实浏览器里渲染组件、模拟点击、验证输出还可以接进 CI 在合并前拦截回归。写法详见 docs/writing-tests/index.mdx。进阶与避坑故事不显示在侧边栏现象是.stories.ts写了却刷不出来。原因是文件不在stories配置匹配的目录里默认只扫src下与组件同级的文件。去.storybook/main配置里核对 glob 路径把故事文件挪到匹配位置即可。Controls 认不出参数现象是args有值面板里却没有对应控件或类型不对。原因是组件参数缺 TS 类型或 JSDoc 注释文档生成器推断不出。给参数补上类型标注和说明后控件会自动出现这也是官方建议把类型写全的一个实际收益参考 docs/writing-stories/index.mdx。开发服务和构建产物混淆npm run storybook是开发服务npm run build-storybook产出可部署的静态目录两者在模块解析、部分插件行为上可能不一致。分享或发布时用静态构建排查问题时先确认自己跑的是哪一个。适合什么项目组件库、设计系统、有大量复用组件的业务项目收益最大故事即文档、即测试。如果你只是做一次性页面、几乎没有独立组件上它纯属增加维护成本。下一步给你的项目装好 Storybook 后先给最常用的 3~5 个组件各写两条故事跑通 Controls 调参流程。装 Vitest 插件并把npm run test-storybook加进 CI。阅读仓库内 docs/writing-stories/ 下的配置文档了解 args、decorators 的完整能力。【免费下载链接】storybookStorybook is the industry standard workshop for building, documenting, and testing UI components in isolation项目地址: https://gitcode.com/GitHub_Trending/st/storybook创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表