vue3-ts-storybook:理解storybook、实践 / 前端组件库

简介: vue3-ts-storybook:理解storybook、实践 / 前端组件库

一、理解 storybook


Storybook是一个开源的工具,可以帮助前端开发者更好地构建、测试和展示组件。

具体来说,Storybook可以做以下几件事情:


1、为每个组件提供一个独立的页面,可以快速展示或调试组件。


2、管理多个组件,按需展示和测试,帮助开发者更好地理解和组织组件库。


3、可以用各种状态(例如不同的props和事件触发)的快照测试组件,保证在不同状态下组件的正确性。


4、提供一些插件(如addon-knobs)可以方便地测试组件的可配置性。


5、可以将组件的使用文档集成在一起,让组件的使用者更好地理解组件的用法和API。


Storybook是一个非常实用的工具,它可以帮助前端开发者更好地管理和测试组件,同时提高开发效率和代码质量。


二、vue3.3 + ts 项目,实践


2.1、安装 storybook


npx sb init


pnpm add --dev @storybook/vue


2cf84005a49faf62a802947d9bf7c949_89363c9b900644178edb5bfa8e03ad69.png


2.2、安装完成后自动打开页面


b0c9576fef2fdb8bde62f42d2a083fb4_44897f9ea89a4fe4a540819d6d509fa1.png

8574a11dfbe055bdc025181f5e6ac338_8f4857a4d7014f6496738975e983ab4d.png


2.3、.storybook 文件夹

在项目根目录下创建了一个名为.storybook的文件夹,并在其中创建一个配置文件main.ts、preview.ts

配置文件的内容可以参考如下:


4bc9121689eba6c199842f35676deea4_54c418aa23c345aeb990f03bf7aaa025.png


2.4、src目录下增加了stories目录

src/stories是存放组件故事(stories)的文件夹路径,.stories.ts是故事文件的后缀名。如果你的文件夹和后缀名有所不同,需要把配置文件中的路径和后缀名修改为你自己的。


52fd34e849fff8b8885287005ad47548_848cb34557494aa3a34b4dd377ef7ad4.png


2.5、故事的属性

每个故事都需要包含一个用于展示故事的title属性和一个展示组件的component属性。  


40d2d4510b31dc4a4442afb934c623d4_7865dafa49234ad09d9b4b987b0bb294.png


2.6、package.json文件,增加storybook启动命令

注意这里设置的端口号,Storybook的默认端口是6006


48e789a4a4aa8e2e577aac9797941226_652cb435345a47649a00a0dd641d5847.png


2.7、启动Storybook

pnpm run storybook


Storybook会自动查找所有的组件故事,并在浏览器中展示出来。


随着使用的深入,你还可以使用Storybook的各种插件和功能(例如插件addon-knobs)帮助你更好地测试组件。


6eff01bc644cf3c2ad3c6fce2ff77414_23a1b75fc08d40c49e8843020971f474.png


启动成功


三、部署


3.1、pnpm run build-storybook 生成静态资源

pnpm run build-storybook


54a83bf3922e262254e1e6c8897ccc42_6f146307e0d646559af86841e3c4bd87.png


3.2、进入目录storybook-static,使用http-server启动服务


b50e4270456fc7c6ae3b5500a607ee10_2a49bacbfc1c485d99e90ec9e7272c03.png


3.3、启动成功,在真实服务器上同理。


229f71ab5dc590e514c26a052987c8c4_386d051800184d0ab3dc0808ce35ca66.png


四、过程记录


4.1、npx sb init 安装 与 pnpm add --dev @storybook/vue 安装 相同吗

不完全相同。


npx是npm的衍生工具,可以临时使用安装的node_modules中的bin工具。

sb init是storybook的初始化命令,初始化storybook。

pnpm add是pnpm工具的添加依赖包命令,--dev表示是开发依赖包,@storybook/vue是storybook的vue框架的入口包


npx sb init 是创建一个完整的 Storybook 项目,它将生成一个包含配置文件、样板文件和一些示例组件的文件结构。


pnpm add --dev @storybook/vue 只是向现有项目中添加 Storybook 依赖项,您需要手动创建配置文件和组件来使用它。


因此,如果您想从头开始构建 Storybook 项目,则应使用 npx sb init ,如果您只是想将 Storybook 添加到现有项目中,则应使用 pnpm add --dev @storybook/vue 。


五、前端类似storybook的方案有哪些


前端vue项目类似storybook的方案有哪些,待补充


六、相关概念


6.1、组件驱动开发(Component-Driven Development)

storybook的幕后公司chormaui在搞组件驱动开发(Component-Driven Development),也就是CDD,这个思想基于原子设计理念与一些现在比较流行的微前端概念


6.2、一切皆可配置

在js文件里边定义一个对象,在组件里边输入js对象,组件输出对应内容,从而形成页面,从而形成项目。


七、参考链接


Install Storybook

基于element-ui二次封装后的组件如何在storybook中展示 - 简书

手摸手教你用 Storybook 改善组件库的开发 - 开发者头条

【storybook】神奇工具storybook!只是用来做组件库?(浅谈CDD组件驱动开发)_业火之理的博客-CSDN博客

在 Vue 项目中使用 Storybook 的 4 个技巧_vue.js_Vue小助理-Vue


相关文章
|
29天前
|
缓存 前端开发 JavaScript
利用代码分割优化前端性能:策略与实践
在现代Web开发中,代码分割是提升页面加载性能的有效手段。本文介绍代码分割的概念、重要性及其实现策略,包括动态导入、路由分割等方法,并探讨在React、Vue、Angular等前端框架中的具体应用。
|
25天前
|
监控 前端开发 数据可视化
3D架构图软件 iCraft Editor 正式发布 @icraft/player-react 前端组件, 轻松嵌入3D架构图到您的项目,实现数字孪生
@icraft/player-react 是 iCraft Editor 推出的 React 组件库,旨在简化3D数字孪生场景的前端集成。它支持零配置快速接入、自定义插件、丰富的事件和方法、动画控制及实时数据接入,帮助开发者轻松实现3D场景与React项目的无缝融合。
94 8
3D架构图软件 iCraft Editor 正式发布 @icraft/player-react 前端组件, 轻松嵌入3D架构图到您的项目,实现数字孪生
|
11天前
|
编解码 前端开发 开发者
探索无界:前端开发中的响应式设计深度实践与思考###
本文将带你领略响应式设计的精髓,一种超越传统页面布局限制的设计策略,它要求开发者以灵活多变的思维,打造能够无缝适应各种设备与屏幕尺寸的Web体验。通过深入浅出的讲解、实际案例分析以及技术实现细节的探讨,本文目的是激发读者对于响应式设计深层次的理解与兴趣,鼓励在实际应用中不断创新与优化。 ###
52 10
|
25天前
|
编解码 前端开发 开发者
前端开发中的响应式设计实践
前端开发中的响应式设计实践
|
1月前
|
编解码 前端开发 UED
探索无界:前端开发中的响应式设计深度解析与实践####
【10月更文挑战第29天】 本文深入探讨了响应式设计的核心理念,即通过灵活的布局、媒体查询及弹性图片等技术手段,使网站能够在不同设备上提供一致且优质的用户体验。不同于传统摘要概述,本文将以一次具体项目实践为引,逐步剖析响应式设计的关键技术点,分享实战经验与避坑指南,旨在为前端开发者提供一套实用的响应式设计方法论。 ####
56 4
|
22天前
|
编解码 前端开发 UED
探索无界:前端开发中的响应式设计哲学与实践####
本文不拘泥于传统摘要的框架,而是以一种对话的方式,引领读者踏入响应式设计的奇妙世界。想象一下,互联网如同一片浩瀚的海洋,而网页则是航行其中的船只。在这片不断变化的海域中,如何让我们的“船只”既稳固又灵活地适应各种屏幕尺寸和设备?这正是响应式设计的魅力所在。通过深入浅出的探讨,我们将一同揭开它背后的哲学思想与实战技巧,让你的网页在任何设备上都能展现出最佳姿态。 ####
21 0
|
1月前
|
前端开发 JavaScript 开发者
React与Vue:前端框架的巅峰对决与选择策略
【10月更文挑战第23天】React与Vue:前端框架的巅峰对决与选择策略
|
1月前
|
前端开发 JavaScript
除了 jsPDF,还有哪些前端库可以用于生成 PDF?
【10月更文挑战第21天】这些前端库都有各自的特点和优势,你可以根据具体的项目需求、技术栈以及对功能的要求来选择合适的库。不同的库在使用方法、性能表现以及功能支持上可能会有所差异,需要根据实际情况进行评估和选择。
|
1月前
|
前端开发 JavaScript 数据管理
React与Vue:两大前端框架的较量与选择策略
【10月更文挑战第23天】React与Vue:两大前端框架的较量与选择策略
|
25天前
|
前端开发 JavaScript API
现代前端框架中的响应式编程实践
现代前端框架中的响应式编程实践
36 0