从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 会将样式文件全部打包到同一个文件中,这样的话我们每次都要全量引入所有样式文件做不到按需引入的效果.所以打包的 ...
随机推荐
- nginx之日志处理
日常对于NGINX日志文件的处理 1.将访问日志中爬虫相关请求导出 cat access.log | grep Baiduspider > spider.log
- KETTLE 复制次数
作用就是开启多线程. 比如上例设置为6. 总共 17条数据,分为6次执行,可以看出是启用了多线程执行.
- DOM元素高度获取踩坑
前情 最近在开发一个需求,需要做一个滚动列表展示当前中奖用户,但是列表每一项高度又不是固定的,每次滚动前需要先获取当前要滚动的块是多高才知道要滚动多少. 坑位 在开发这个滚动列表的时候发现滚着滚着就会 ...
- HBuilderX代码缩进问题
前情 uni-app是我很喜欢的跨平台框架,它能开发小程序,H5,APP(安卓/iOS),对前端开发很友好,自带的IDE让开发体验也很棒,公司项目就是主推uni-app,自然也是用官方自带的IDE了 ...
- bitmap的特性和应用
BitMap 是什么? BitMap 简称位图,实际上是一个散列表,只不过这个散列表中各个槽是计算机存储中的最小单元bit. 那BitMap数据结构长什么样呢? 一个长度为8的BitMap是下面这样的 ...
- day02 计算机组成
day02 计算机组成 1.硬件 计算机硬件是指一些物理装置按照系统结构的要求构成一个有机整体为计算机软件运行提供物质基础 构成最基础的硬件有: CPU 内存 主板 IO设备 2.软件 计算机软件可以 ...
- iOS Aliyun语音识别&语音合成
Aliyun 语音识别&语音合成 导入 SDK 将ZIP包中的nuisdk.framework添加到工程中,并在工程Build Phases的Link Binary With Librarie ...
- 【Mybatis】学习笔记01:连接数据库,实现增删改
需要数据库SQL的请跳转到文末 哔哩哔哩 萌狼蓝天 [转载资料][尚硅谷][MyBatis]2022版Mybatis配套MD文档 [Mybatis]学习笔记01:连接数据库,实现增删改 [Mybati ...
- alpine-jdk17
# 指定基础镜像 FROM amd64/eclipse-temurin:17.0.5_8-jdk-alpine MAINTAINER "muzhi" RUN sed -i 's/d ...
- SpringBoot外部配置以及优先级
SpringBoot外部配置属性值的方式有很多种,SpringBoot为这多种配置方式指定了优先级,在属性相同的情况下,优先级高的配置方式会覆盖优先级低的配置方式.当然,如果属性不相同,则这些配置 ...