从0搭建Vue3组件库(一): 开篇
前言
这是从0搭建Vue3组件库系列文章第一篇文章,这个系列我曾经写过多篇文章,但是写完之后回过头来再看里面有很多遗漏以及不足之处,所以决定重新梳理这个系列,并从头开始搭建一个完整的Vue3组件库工程项目,旨在为大家提供更详尽的搭建过程以及更好的阅读体验。
为什么要写组件库
目前业界已经有很多非常成熟的组件库了,比如Element,Vant,Vuetify等等等等,那么我们为什么还有去自己从头搭建一个呢?
对于我来说,搭建一个自己的组件库并不是为了给多少人去用(也没有多少人会去用),主要的还是从搭建过程中会学到很多工作中接触不到的知识。比如Vite的一些原理,pnpm包管理,脚手架搭建Cli,Vitest测试等等有很多的知识点。以及以这个为主题输出一些文章来帮助一些小伙伴答疑解惑,并且锻炼一下自己的写作能力。
我想对于大部分人来说搭建一个属于自己的组件库都是为了提高自己专业技能,或者说公司需要一个自己的组件库,亦或者说是你想把你的组件库做大做强然后开源出去获得更多人的使用与认可。当然,每个人有每个人不同的想法。幸运的是你们都看到了这篇文章,如果你想要搭建一个自己的组件库,那么请你一定要关注本系列文章。
vue3组件库
从0搭建Vue3组件库系列文章将使用Vite3+TS搭建一个Vue3组件库工程,最终产物是一个可直接用于搭建Vue3组件库的脚手架,即只需要你在命令行输入npm create easyest,那么你就能得到一个完整的Vue3组件库搭建框架。
至于其中的组件要不要写还是看后续的情况吧,可能会加一些常用组件的开发教程。同时每篇文章都会有对应github地址供大家查看。
包含哪些内容
从0搭建Vue3组件库系列文章暂时包含这些
- 《开篇》
- 《如何搭建Monorepo环境》
- 《组件库的环境配置》
- 《如何开发一个组件》
- 《集成ESLint+Prettier+Stylelint+Husky规范代码》
- 《如何使用Vite打包组件库》
- 《前端流程化控制工具gulp的使用》
- 《引入单元测试框架Vitest》
- 《使用 glup 打包组件库并实现按需加载》
- 《自动化发布、管理版本号》
- 《VitePress搭建组件库文档站点》
- 《搭建一个完整前端脚手架》
- ...
当然,后面可能会有所调整,但不会变化太多
最后
欢迎关注专栏Vite+TypeScript从零搭建Vue3组件库
希望我的文章能够帮助大家学到更多的东西,一起学习共同进步,加油!
当然也请大家能给我点赞收藏加关注给点鼓励
今天情人节,jym早点下班去陪女朋友~
从0搭建Vue3组件库(一): 开篇的更多相关文章
- 从0搭建Vue3组件库(二):Monorepo项目搭建
本篇文章是从0搭建Vue3组件库系列文章第二篇,本篇文章将带领大家使用pnpm搭建一个简单的Monorepo项目,并完成包的关联与测试 什么是 Monorepo 其实很简单,就是一个代码库里包含很多的 ...
- 从0搭建Vue3组件库:button组件
button组件几乎是每个组件库都有的:其实实现一个button组件是很简单的.本篇文章将带你一步一步的实现一个button组件.如果你想了解完整的组件库搭建,你可以先看使用Vite和TypeScri ...
- 从0搭建vue3组件库:Shake抖动组件
先看下效果 其实就是个抖动效果组件,实现起来也非常简单.之所以做这样一个组件是为了后面写Form表单的时候会用到它做一个规则校验,比如下面一个简单的登录页面,当点击登录会提示用户哪个信息没输入,当然这 ...
- 从0搭建vue3组件库: 如何完整搭建一个前端脚手架?
相信大家在前端开发中都使用过很多前端脚手架,如vue-cli,create-vite,create-vue等:本篇文章将会为大家详细介绍这些前端脚手架是如何实现的,并且从零实现一个create-kit ...
- 从0搭建vue3组件库:自动化发布、管理版本号、生成 changelog、tag
今天看到一篇文章中提到了一个好用的工具release-it.刚好可以用在我正在开发的vue3组件库.纸上得来终觉浅,绝知此事要躬行,说干就干,下面就介绍如何将release-it应用到实际项目中,让组 ...
- 从0搭建vue3组件库: Input组件
本篇文章将为我们的组件库添加一个新成员:Input组件.其中Input组件要实现的功能有: 基础用法 禁用状态 尺寸大小 输入长度 可清空 密码框 带Icon的输入框 文本域 自适应文本高度的文本域 ...
- 从0搭建Vue3组件库(三): 组件库的环境配置
本篇文章将在项目中引入 typescript,以及手动搭建一个用于测试组件库组件 Vue3 项目 因为我们是使用 Vite+Ts 开发的是 Vue3 组件库,所以我们需要安装 typescript.v ...
- 从0搭建Vue3组件库(六):前端流程化控制工具gulp的使用
前言 随着前端诸如webpack,rollup,vite的发展,gulp感觉似乎好像被取代了.其实并没有,只不过它从台前退居到了幕后.我们仍然可以在很多项目中看到它的身影,比如elementplus. ...
- 从0搭建Vue3组件库(四): 如何开发一个组件
本篇文章将介绍如何在组件库中开发一个组件,其中包括 如何本地实时调试组件 如何让组件库支持全局引入 如何在 setup 语法糖下给组件命名 如何开发一个组件 目录结构 在packages目录下新建co ...
- 从0搭建Vue3组件库(七):使用 glup 打包组件库并实现按需加载
使用 glup 打包组件库并实现按需加载 当我们使用 Vite 库模式打包的时候,vite 会将样式文件全部打包到同一个文件中,这样的话我们每次都要全量引入所有样式文件做不到按需引入的效果.所以打包的 ...
随机推荐
- 编写kickstart脚本,执行时遇到的问题
KickStart脚本 #!/bin/bash #declare var yum_ins="yum -y install" sys_res="systemctl rest ...
- Net中手写 事件总线 发布订阅消息
Net 手写 事件总线 发布订阅消息 前言 今晚打老虎 事件总线是对发布-订阅模式的一种实现.它是一种集中式事件处理机制,允许不同的组件之间进行彼此通信而又不需要相互依赖,达到一种解耦的目的.(项目的 ...
- Advanced .NET Remoting: 第 9 章 4.改变编程模型
Advanced .NET Remoting: 第 9 章 4.改变编程模型 前面的所有连接器在 .NET Remoting 应用程序的服务器端和客户端两方面增强功能.可插拔的连接器架构不仅支持创建连 ...
- 中电资讯 - 一路“标”升,喜迎Q3开门红
Q2收获满满,Q3精彩再启! 近日,中电金信多项业务取得新进展 接连中标多个项目 中电金信数字科技集团旗下优智汇咨询中标浙江民泰商业银行信息科技战略发展规划(2022-2025)项目.优智汇将根据民泰 ...
- 《刚刚问世》系列初窥篇-Java+Playwright自动化测试-8- 元素高级定位技巧(详细教程)
1.简介 随着网页的复杂性和动态性的增加,自动化测试变得越来越重要.Playwright作为一款强大的无头浏览器测试库,提供了多种元素定位方式,使得我们能够轻松地对网页进行自动化操作.在基础的定位方式 ...
- 【Java】获取近六个月的年月
数据库里面存储的字段类型就是varchar,数据格式就是类似2024-12这样的年月格式. 目标: 以当前月份为标准,向前获取近6个月的年月(year_month)形成列表 // 获取近6个月的年月列 ...
- 配置 HTTP/HTTPS 网络代理
使用Docker的过程中,因为网络原因,通常需要使用 HTTP/HTTPS 代理来加速镜像拉取.构建和使用.下面是常见的三种场景. 为 dockerd 设置网络代理 "docker pu ...
- Debian 11 (bullseye) 国内软件源
本文整理了Debian 11在国内的几个软件源. 1.使用说明 一般情况下,将/etc/apt/sources.list文件中Debian默认的软件仓库地址和安全更新仓库地址修改为国内的镜像地址即 ...
- Qt编写可视化大屏电子看板系统26-模块4模具进度
一.前言 模具进度主要用来展示不同的模具类别加工进度,表格的形式展示,显示内容包括模具编号.版本号.类型.状态.产品名称.计划交期.当前进度,其中进度条采用自定义控件三态进度条,有三种状态显示进度:右 ...
- Qt编写地图综合应用58-兼容多浏览器内核
一.前言 miniblink是一个追求极致小巧的浏览器内核项目,全世界第三大流行的浏览器内核控件.其基于chromium最新版内核,去除了chromium所有多余的部件,只保留最基本的排版引擎blin ...