资讯专栏INFORMATION COLUMN

elementUI源码修改的爬坑之旅

_ipo / 2581人阅读

摘要:今天由于项目需要,想在组件上做一些变动和修改,我修改了的源代码,发布到上去成功使用,记录下过程中所碰到的问题。最后进行上传上传完成要是报各种看不懂的错误很大可能是包名重复。到项目中将项目中的中的中的修改为你的包名你的版本号。

今天由于项目需要,想在Tree组件上做一些变动和修改,我修改了elementUI的源代码,发布到npm上去成功使用,记录下过程中所碰到的问题。

下面简单记录下过程和过程中所遇到的问题以及问题的解决方案。

首先把elementUI的项目从git上克隆下来:

git clone https://github.com/ElemeFE/element.git

克隆完成后就会看到有个名叫element的文件夹出现:


然后进入element文件夹:

cd element

安装相关的依赖:

npm install

第一步已经完成。

修改源码,我修改的部分在packages里面,


我修改完成后执行:

npm run dist

就会生成一个lib文件夹,这部分是我们调试用的,刚克隆下来没有run dist之前是没有lib文件夹的,我修改完源码之后,运行run dist 后将生产的lib文件夹拷贝到项目中的node_modules中的element-ui文件夹中去,效果OK。
3.上传npm 包。
第一次是在网上看大佬说只需要修改里面的config.js文件里面的名字和package.json里面的包名就可以了,我修改了之后上传后结果是报了40多个路径错误,找不到这个找不到那个,看的我是一脸懵。
然后我的解决方案是全局全词匹配到element-ui之后进行全局替换为我设置的包名。
说下上传包步骤,
首先进入element文件夹之后执行:

npm init 

然后登陆下(没有账户的注册账户):

npm login

依次根据提示输入username、password、e-mail其他的都可以敲回车完事(记得改element文件夹中package.json文件中的包名和版本号啊)。
需要强调的是包名不能重复,不然npm会给你报一堆乱七八糟的错误。
最后进行上传:

npm publish

ok上传完成(要是报各种看不懂的错误很大可能是包名重复)。
4.到项目中将项目中的package.json中的dependencies中的:"element-ui": "^2.4.11"修改为:"你的包名": "^你的版本号"
然后进行依赖安装:npm install
启动项目,效果OK。
有不对的地方,各位路过的大佬多多指教。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/100811.html

相关文章

  • 献给一下午对于百度统计事件转化爬坑

    摘要:准备需要一个百度统计账号站长版,如果没有,根据提示注册一个即可代码获取选择想要分析的网站,然后将代码粘贴到中,按照上面步骤来即可怎么让事件转化出现第三个方式使用功能一开始在管理基本转化设置事件转化添加事件转化中是不会选项的。 1.准备 需要一个百度统计账号--站长版,如果没有,根据提示注册一个即可 2.代码获取 选择想要分析的网站,然后将代码粘贴到中,按照上面步骤来即可showImg...

    beanlam 评论0 收藏0
  • 初入 Flutter 爬坑过程(Windows10)

    摘要:最近入坑在此过程遇到一些一般教程没有注意的问题,由此记录一下。教程看的是技术胖的免费视频技术胖教程。但对我这种半路出家的前端来说,打过几次也没成功,又不能不学,只能在网上找解决方法。 最近入坑Fultter,在此过程遇到一些一般教程没有注意的问题,由此记录一下。教程看的是技术胖的免费视频 技术胖Fultter教程。一般情况下按照此教程是可以慢慢把开发环境搭好的,但其中遇到如下问题:1....

    IamDLY 评论0 收藏0
  • 献给一下午对于百度统计事件转化爬坑

    摘要:准备需要一个百度统计账号站长版,如果没有,根据提示注册一个即可代码获取选择想要分析的网站,然后将代码粘贴到中,按照上面步骤来即可怎么让事件转化出现第三个方式使用功能一开始在管理基本转化设置事件转化添加事件转化中是不会选项的。 1.准备 需要一个百度统计账号--站长版,如果没有,根据提示注册一个即可 2.代码获取 选择想要分析的网站,然后将代码粘贴到中,按照上面步骤来即可showImg...

    superPershing 评论0 收藏0
  • 前端爬坑日记之vue内嵌iframe并跨域通信

    摘要:由于该项目是基于原本的安卓,做的微信,所以原来的使用的页面现在需要在中实现,那就是使用查看了很多很多文档,其中这一篇是很有价值的下面将天的爬坑最终以问答的方式总结如下组件中如何引入如何获取对象以及内的对象如何向内传送信息内如何向外部发送信息 由于该项目是基于原本的安卓app,做的微信h5,所以原来的使用webview的页面现在需要在vue中实现,那就是使用iframe查看了很多很多文档...

    dreambei 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<