├─第1章 课程简介
│ 1-1 导学.mp4
│ 1-2 二次封装的意义.mp4
│
├─第2章 封装组件初级篇(上)
│ 2-1 本章概述.pdf
│ 2-2 搭建vite项目并配置路由和element-plus.mp4
│ 2-3 全局注册图标.mp4
│ 2-4 伸缩菜单-完成伸缩菜单基本功能.mp4
│ 2-5 伸缩菜单-抽离头部和侧边栏组件并完善伸缩菜单.mp4
│ 2-6 图标选择器-巧用两次watch控制弹框的显示与隐藏.mp4
│ 2-7 图标选择器-巧用component动态组件显示所有的图标.mp4
│ 2-8 图标选择器-利用命名空间修改dialog样式.mp4
│ 2-9 图标选择器-通过自定义 hooks 函数实现复制功能.mp4
│ 2-10 省市区选择组件-利用 github 获取到省市区数据.mp4
│ 2-11 省市区选择组件-巧用 watch 来达到三级联动效果.mp4
│ 2-12 省市区选择组件-完善省市区联动组件并给父组件分发事件.mp4
│ 2-13 利用app.use特性全局注册组件.mp4
│ 2-14 作业[缺]
│ 2-15 作业[缺]
│ 2-16 本章回顾.pdf
│
├─第3章 封装组件初级篇(下)
│ 3-1 本章概述.pdf
│ 3-2 趋势标记-图标的组合使用实现上升下降趋势.mp4
│ 3-3 趋势标记-动态绑定class的妙用实现颜色反转.mp4
│ 3-4 趋势标记-计算属性的妙用实现文字颜色.mp4
│ 3-5 通知菜单-icon和badge组件的组合使用.mp4
│ 3-6 通知菜单-封装一个列表组件(上).mp4
│ 3-7 通知菜单-封装一个列表组件(下).mp4
│ 3-8 通知菜单-完善list组件并融合进通知菜单.mp4
│ 3-9 给趋势标记增加自定义文字大小功能.pdf
│ 3-10 给通知菜单添加禁用状态.pdf
│ 3-11 本章回顾.pdf
│
├─第4章 封装组件中级篇
│ 4-1 图文[缺]
│ 4-2 导航菜单-导航菜单的需求分析和数据设计.mp4
│ 4-3 导航菜单-巧用 template 实现两级结构的菜单.mp4
│ 4-4 导航菜单-使用 tsx 实现无限层级菜单.mp4
│ 4-5 导航菜单-利用封装好的导航菜单组件改造项目整体结构.mp4
│ 4-6 导航菜单-完善细节并增加自定义键名功能.mp4
│ 4-7 图文[缺]
│ 4-8 进度条-完成进度条动态加载效果.mp4
│ 4-9 给进度条组件加上进度完成事件.pdf
│ 4-10 时间选择组件-完成时间选择组件的全部功能.mp4
│ 4-11 时间选择组件-完成日期选择组件所有功能.mp4
│ 4-12 时间选择组件-修复日期选择组件结束日期未清空问题.mp4
│ 4-13 城市选择组件-组合式使用组件完成基本布局.mp4
│ 4-14 城市选择组件-获取城市数据并显示所有城市.mp4
│ 4-15 城市选择组件-绑定事件并实现点击字母跳转到对应区域.mp4
│ 4-16 城市选择组件-完善按省份选择城市.mp4
│ 4-17 城市选择组件-使用 filter-method 实现搜索过滤.mp4
│ 4-18 本章回顾.pdf
│
├─第5章 封装组件高级篇(上)
│ 5-1 本章概述.pdf
│ 5-2 表单组件-一个强大的表单组件应该具备哪些功能.mp4
│ 5-3 表单组件-使用ts定义表单配置项的数据类型.mp4
│ 5-4 表单组件-使用配置的数据完成一个基本版表单.mp4
│ 5-5 表单组件-巧用component动态组件配置添加子元素组件.mp4
│ 5-6 表单组件-单独处理上传组件-1.mp4
│ 5-7 表单组件-单独处理上传组件-2.mp4
│ 5-8 表单组件-巧用插槽给表单加上操作项.mp4
│ 5-9 表单组件-完善表单上传逻辑.mp4
│ 5-10 表单组件-集成富文本编辑器 wangeditor.mp4
│ 5-11 表单组件-完善表单重置逻辑.mp4
│ 5-12 表单组件-弹出框表单的基本结构.mp4
│ 5-13 表单组件-使用defineExpose获取表单实例方法.mp4
│ 5-14 表单组件-完善表单逻辑.mp4
│ 5-15 表单组件-表单组件总结.mp4
│ 5-16 拓展动态添加和删除表单.pdf
│ 5-17 为表单增加自定义验证规则.pdf
│ 5-18 为表单增加剩余实例方法.pdf
│ 5-19 本章回顾.pdf
│
├─第6章 封装组件高级篇(下)
│ 6-1 本章概述.pdf
│ 6-2 表格组件-一个强大的表格应该具备哪些功能.mp4
│ 6-3 表格组件-使用 ts 定义表格组件需要的类型.mp4
│ 6-4 表格组件-通过配置的数据完成一个基础版表格.mp4
│ 6-5 表格组件-巧用插槽实现操作项和自定义列数据.mp4
│ 6-6 表格组件-为表格加上loading效果.mp4
│ 6-7 表格组件-实现可编辑单元格功能.mp4
│ 6-8 表格组件-实现可编辑行功能-1.mp4
│ 6-9 表格组件-实现可编辑行功能-2.mp4
│ 6-10 表格组件-修复冒泡事件带来的问题.mp4
│ 6-11 表格组件-实现表格分页功能.mp4
│ 6-12 拓展表格排序功能.pdf
│ 6-13 拓展表格单选功能.pdf
│ 6-14 拓展表格多选功能.pdf
│ 6-15 本章回顾.pdf
│
├─第7章 封装组件拓展篇
│ 7-1 本章概述.pdf
│ 7-2 日历组件-element-plus日历组件的不足和为何选择fullcalendar来二次封装.mp4
│ 7-3 日历组件-使用fullcalendar配置生成日历.mp4
│ 7-4 日历组件-日历的事件渲染和点击事件处理.mp4
│ 7-5 日历组件-自定义渲染日历内容.mp4
│ 7-6 修复组件出现的样式问题.mp4
│ 7-7 将日历语言改成英文显示.pdf
│ 7-8 日历自定义渲染内容使开始时间和结束时间字体都变成红色.pdf
│
├─第8章 使用vuepress 编写组件文档
│ 8-1 本章概述.pdf
│ 8-2 实现组件的全量打包.mp4
│ 8-3 单独打包每个组件实现按需引入.mp4
│ 8-4 发布组件库到 npm.mp4
│ 8-5 如何更新已经发布的组件库版本.mp4
│ 8-6 如何在 github 部署预览项目.mp4
│ 8-7 如何在码云部署预览项目.mp4
│ 8-8 组件库文档首页编写.mp4
│ 8-9 编写文档网站头部导航和侧边导航.mp4
│ 8-10 集成组件库并添加显示和交互.mp4
│ 8-11 编写组件库文档的快速上手.mp4
│ 8-12 完善组件库所有组件说明(1).mp4
│ 8-13 完善组件库所有组件说明(2).mp4
│ 8-14 完善组件库所有组件说明(3).mp4
│ 8-15 完善组件库所有组件说明(4).mp4
│ 8-16 完善组件库所有组件说明(5).mp4
│ 8-17 完善组件库所有组件说明(6).mp4
│ 8-18 完善组件库文档介绍.mp4
│ 8-19 给文档增加自己github和码云仓库地址.pdf
│ 8-20 给文档增加自定义logo.pdf
│ 8-21 本章回顾.pdf
│ 8-22 [图文]组件打包问题处理方案
│
└─资料.rar
有需要联系v;加客服窗口的联系方式
摘要:本文围绕“基于Vue3+Vite+TS二次封装element-plus业务组件 2021年11月”展开,以前端工程化发展背景为起点,详细介绍当时在 Vue3 技术体系快速成型时期,如何通过 Vite 的高性能构建、TypeScript 的强类型能力以及 Element Plus 的完善组件体系,实现一套可复用、可扩展、可维护的业务组件库。文章首先回顾二次封装的技术动因与行业价值,随后从工程搭建、组件设计规范、类型增强与工具链整合、以及典型业务组件实践四个维度进行全面论述。每个部分均结合当时的技术生态给予详细分析,展示实践方法、设计思路与工程经验,为读者在实际项目中高效开发业务组件提供参考。文章最后总结 Vue3 生态在 2021 年的关键变化,并强调二次封装组件对于大型前端项目长期维护的战略意义。
1、技术栈选择与生态价值
在 2021 年 11 月,Vue3 生态逐渐稳定,Composition API 成为开发主流,组件逻辑复用方式相比 Vue2 有了质的提升。选择 Vue3 作为基础框架,能够使组件在响应式与扩展性方面得到更高的灵活度。其 Proxy-based 响应式系统不仅性能优秀,也为后续复杂业务组件的状态控制提供了更高的可控性。
Vite 在当时已经迅速成为新一代构建工具的代表,它使用 ES Module 实现按需加载,使开发服务器启动速度极快,非常适合频繁调试组件库的场景。与此同时,Vite 原生支持 TS 和 Vue SFC 编译,使工程搭建更简单、依赖更轻量、扩展性更强。
TypeScript 的强类型系统为二次封装提供了不可或缺的支撑。当组件需要对外提供稳定 API、组件属性需要类型提示、事件需要明确参数类型时,TS 的优势尤为显著。特别是在大型项目拆分子模块或沉淀 UI 库时,TS 能有效降低长期维护成本,减少隐形 Bug。
Element Plus 是基于 Vue3 改写的组件库,在 2021 年已经拥有全面的控件体系且保持快速迭代。其样式体系、交互逻辑和主题机制为二次封装提供强大基础,开发者可以在其已有能力上扩展业务能力,而无需从零搭建底层 UI。
2、工程化搭建与项目架构
在搭建组件库工程时,需要先确定项目目录结构,使组件、类型、工具函数、样式系统能够彼此独立又互相配合。Vite 的简洁配置文件让项目能够在不引入过多插件的情况下顺利启动,同时通过 alias 可快速建立路径映射,使组件之间互相引用更清晰。
构建组件库时常需兼容按需引入与整体引入两种模式。为此,可以利用 Vite 的插件机制实现自动生成组件入口、类型声明文件打包、样式自动注入等工程能力,让组件最终发布到 npm 后能被外部项目轻松使用。
样式体系方面,除使用 Element Plus 的主题变量外,还可以加入自定义变量与 mixin,形成可覆盖又可扩展的统一视觉规范。通过 SCSS + Vite 提供的快速热更新能力,开发者在调试组件样式时能够获得更高效率,减少主题适配带来的复杂度。
在组件库工程化建设的过程中,TS 配置(如 tsconfig.json)同样重要。通过严格模式、路径映射、声明文件生成等配置,确保所有组件在开发与发布阶段均有清晰的类型约束,这也是保证组件库可维护性的重要基础。
3、组件设计规范与类型体系
在二次封装业务组件时,需要制定一套统一的设计规范,包括属性命名规则、事件触发机制、插槽使用方式等,以确保组件被项目团队内多人长期使用时不会产生歧义。不仅如此,统一规范能让组件在逻辑、行为、样式上保持一致性,提高整个系统的可控性。
在实际业务中,经常需要扩展 Element Plus 的基础属性或提供更丰富的业务行为。例如在封装表格组件时,需要在原组件上增加统一分页逻辑、数据请求机制、列渲染配置等高级特性。TS 在此处发挥了关键作用,可用接口继承与泛型泛化能力,构建强类型的组件配置体系。
事件的类型定义也十分关键。通过为组件事件编写明确的类型声明,可以保证在使用组件时获得自动化代码提示,并减少事件参数传递错误。特别在复杂业务组件(如表单、选择器、数据录入控件)中,类型定义决定了组件可维护性和扩展难度。
插槽的 TS 类型标注也是 2021 年开始逐渐被开发者重视的部分。通过定义自定义插槽的类型,能够让使用组件的开发者在 IDE 中获得更加准确的提示,同时避免插槽作用域参数使用错误带来的逻辑问题。
4、典型业务组件实践案例
表格组件(DataTable)是二次封装最常见的业务组件之一。通常需要在 Element Plus 基础版本上集成请求管理、分页控制、筛选、列配置、批量操作按钮等功能,形成高可用的一体化业务表格。在 2021 年的项目中,这类组件大幅提高后台管理系统开发效率。
表单组件(SmartForm)同样是封装重点。通过使用 JSON Schema 形式定义表单结构,开发者可实现动态渲染、规则自动绑定、统一验证提示等功能,使复杂表单的开发过程更加规范。利用 TS 的泛型能力,还可以实现表单数据的类型自动推导,提高类型安全性。
对话框组件(BizDialog)通常用于统一弹窗风格与行为,例如确认弹窗、编辑弹窗、详情弹窗等。通过 Vue3 的 Teleport 与 Composition API 提升组件组织结构,可以让弹窗组件更加灵活地渲染在 DOM 的任意位置,同时保持状态与业务逻辑的清晰分离。
业务选择器(BizSelect)在企业级项目中十分常见,如用户选择器、部门选择器、权限选择器等。通过二次封装,可以将 API 请求、缓存管理、搜索框优化等能力整合在组件内部,让业务层只需处理最终结果,大幅降低开发复杂度。
总结:
回顾“基于Vue3+Vite+TS二次封装element-plus业务组件 2021年11月”,可以看到这是 Vue3 技术体系快速成熟的重要节点。通过 Vue3 的响应式能力、Vite 的高效构建、TS 的强类型支持,以及 Element Plus 的完善基础组件库,开发者能够高效打造稳定高质的业务组件体系。工程化思维与类型驱动的编码方式共同推动大型前端项目进入更高的可维护性阶段。
在现代前端工程化背景下,二次封装不仅是对 UI 组件的补充,更是提升团队协作效率、统一视觉体验、减少重复工作的核心手段。无论是在后台管理系统、企业 SaaS 平台还是中后台业务前端中,这类组件库都扮演着重要角色,持续帮助企业构建更高质量的软件产品。
本文由nayona.cn整理
联系我们

关注公众号

微信扫一扫
支付宝扫一扫 