久等的vue3版element组件修改二开全过程终于来了
element plus是基于vue
的组合式代码风格进行开发的
所以我们几乎没办法
通过继承来修改或者定制化它的组件
所以呢这种情况我们就只剩下一条路
就是我们基于它官方的源代码
进行二次开发
顶多呢
就是我们定期的合并它官方的发行版
其实很简单
首先呢我们先把他的原代码克隆下来
这块我已经克隆好了在这里哈
然后呢我们先做一件事
就是我们创建一个分支
(我这里叫:my2.3)
为什么呢
因为大家看他现在的最新发
行版是2.3.
我们呢就不要最后这个小版本了
我们直接到2.
以后的话呢
我们定期合并它这个小版本
比如它2.3.15发布了
我们还把它的2.3.15合并
到我们这个2.3的分支里
然后
就简单了
我们就任意的改它的原代码就好了
改完之后怎么办呢
我们用pnpm
注意它用的是pnpm(包括install的时候)
然后pnpm build
build完之后呢(我这已经build好了)
它会生成一个dist目录
目录里有一个这个element plus目录
这个目录就是未来我们项目
需要引用的那个
element plus
怎么把它引用到项目里呢
我给大家分享3种方式
大家根据自己的情况去选择
第一种呢就是我们把整个这个目录啊
放到我们的项目里边
我这块呢已经放过来了
我建了一个叫deps的目录
把刚才那个目录copy过来
我这已经copy好了哈
下边这个先不管他
然后怎么做呢大家看我现
在用的是一个普通的button
就这一个普通的button
然后呢
大家看啊,我(刚才)把它源码里稍微做了修改
在这加了三个等号
就是在这个文字前面(slot前面)
然后呢我现在重新安装一下element plus
用我打包过来这个安装首先呢
大家看啊这块引用的是官方的element plus
我先把它卸载掉
uninstall
好没有了对吧然后呢重新进行install
element plus注意后边加空格点deps
然后element-plus
这样就可以了指向这个目录哈
我们回车
OK大家看
这块的路径就变成这样的了
我们再来试一下npm run dev
刷新一下
大家看他前面就有这三个等号了
说明现在用的这个button
就是我们刚才改过源码的那个button了
那第二个方法呢就是
大家也看到了
我们需要把刚才这个element plus
目录打包成
tar.gz文件
怎么做呢
就是tar zcvf
然后呢起个名
然后注意有一杠大写的c
然后呢选中刚才这个目录最后有个点
注意这个杠c很重要
这样的话
它生成的这个压缩包中
不会有这个element plus这个目录(这一及级)
否则的话
你在NPM安装的时候
总会报找不到package
好这样打包完之后呢
它就有这个文件了哈
我们把这个文件
放到我们其他的项目里
像这样deps
然后
.tar.gz
(然后这会我们把这个文件先删掉哈)
(我们为了测试)
停一下
然后还是我们先把这个uninstall一下
卸载一下
好我们重新安装i
element plus这回我们.tar.gz
好安装好了,npm run dev
我们再来试一下
刷新一下
大家看也是一样的效果
那这个方法相比直接复制目录过来
有两个好处
第一就是(项目源码的)磁盘空间
我试了一下
(项目源码)他大概节省了10倍的磁盘空间
第二个呢就是这种压缩包
我们可以
避免不小心修改到里边的代码
第三种方法就是我们直接把这个目录
放到公司的git私服上面
或者github上面
我这里边拿github举例哈
我在我的github上
创建了一个my element plus
然后呢把这个目录
直接
放上来了
而且我们放上来的时候
注意我们还可以
打tag
比如我这是2.3.14我又加了个.
未来我再改就是点
然后呢
我们还是
(我还是先uninstall一下)
然后呢我们复制
github这个目录HTTP的就可以哈
npm i element-plus
然后把刚才那个链接直接粘过来
就可以了
如果你想带版本就加上井号
2.3.14.
回车
OK安装好了
大家看格式
就自动变成这种GitHub冒号了
大家注意这是note 16版本以后会是这样
14版本的话它就不是这样
它就直接是这样
ssh加上
https://github...
然后呢我们不管他啊
我们再来npm run一下
看下效果
刷新
啊对
这个我刚才打包的是两个减号的版本
不是等号哈
在其他项目做安装的时候这么做
最后更新于
这有帮助吗?