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


相关文章
|
18天前
|
缓存 安全 JavaScript
前端安全:Vue应用中防范XSS和CSRF攻击
【4月更文挑战第23天】本文探讨了在Vue应用中防范XSS和CSRF攻击的重要性。XSS攻击通过注入恶意脚本威胁用户数据,而CSRF则利用用户身份发起非授权请求。防范措施包括:对输入内容转义、使用CSP、选择安全的库;采用Anti-CSRF令牌、同源策略和POST请求对抗CSRF;并实施代码审查、更新依赖及教育团队成员。通过这些实践,可提升Vue应用的安全性,抵御潜在攻击。
|
2天前
|
前端开发
前端进度条组件NProgress
前端进度条组件NProgress
18 1
前端进度条组件NProgress
|
2天前
|
JavaScript 前端开发
vue前端展示【1】
vue前端展示【1】
6 1
|
9天前
|
JSON JavaScript Java
从前端Vue到后端Spring Boot:接收JSON数据的正确姿势
从前端Vue到后端Spring Boot:接收JSON数据的正确姿势
21 0
|
10天前
|
前端开发 JavaScript 开发者
【专栏:HTML与CSS前端技术趋势篇】前端框架(React/Vue/Angular)与HTML/CSS的结合使用
【4月更文挑战第30天】前端框架React、Vue和Angular助力UI开发,通过组件化、状态管理和虚拟DOM提升效率。这些框架与HTML/CSS结合,使用模板语法、样式管理及组件化思想。未来趋势包括框架简化、Web组件标准采用和CSS在框架中角色的演变。开发者需紧跟技术发展,掌握新工具,提升开发效能。
|
11天前
|
前端开发 搜索推荐 UED
【Flutter前端技术开发专栏】Flutter中的高级UI组件应用
【4月更文挑战第30天】探索Flutter的高级UI组件,如`TabBar`、`Drawer`、`BottomSheet`,提升应用体验和美观度。使用高级组件能节省开发时间,提供内置交互逻辑和优秀视觉效果。示例代码展示了如何实现底部导航栏、侧边导航和底部弹出菜单。同时,自定义组件允许个性化设计和功能扩展,但也带来性能优化和维护挑战。参考Flutter官方文档和教程,深入学习并有效利用这些组件。
【Flutter前端技术开发专栏】Flutter中的高级UI组件应用
|
11天前
|
JSON JavaScript 前端开发
前端框架vue的样式操作,以及vue提供的属性功能应用实战
前端框架vue的样式操作,以及vue提供的属性功能应用实战
|
11天前
|
JavaScript 前端开发 数据安全/隐私保护
优秀的前端框架vue,原理剖析与实战技巧总结【干货满满】(二)
优秀的前端框架vue,原理剖析与实战技巧总结【干货满满】(二)
|
11天前
|
JavaScript 前端开发 Python
优秀的前端框架vue,原理剖析与实战技巧总结【干货满满】(一)
优秀的前端框架vue,原理剖析与实战技巧总结【干货满满】(一)
|
12天前
|
开发框架 缓存 前端开发