今天由于项目需要,想在Tree组件的前面增加一个icon图标,根据不同类型增加不同的图标,我修改了elementUI的源代码,发布到npm上去成功使用,记录下过程中所碰到的问题,
首先看下最后的效果:


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

  1. 首先把elementUI的项目从git上克隆下来:
git clone https://github.com/ElemeFE/element.git

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


然后进入element文件夹:

cd element

安装相关的依赖:

npm install

第一步已经完成。

  1. 修改源码,我修改的部分在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。
有不对的地方,各位路过的大佬多多指教。

elementUI源码修改的爬坑之旅相关推荐

  1. android打开volte代码,Android8.1 源码修改之插入SIM卡默认启用Volte功能

    前言 公用电话产品,插入SIM卡后要求自动打开Volte功能,即插即用,用完拔卡就走 实现 第一步 开关对应的代码 通过打印日志和全局查找,源码位置 vendor/mediatek/proprieta ...

  2. Deep Compression阅读理解及Caffe源码修改

    Deep Compression阅读理解及Caffe源码修改 作者:may0324 更新:  没想到这篇文章写出后有这么多人关注和索要源码,有点受宠若惊.说来惭愧,这个工作当时做的很粗糙,源码修改的比 ...

  3. Spring5.x源码分析 | 从踩坑到放弃之环境搭建

    Spring5.x源码分析--从踩坑到放弃之环境搭建 前言 自从Spring发行4.x后,很久没去好好看过Spring源码了,加上最近半年工作都是偏管理和参与设计为主,在技术细节上或多或少有点疏忽,最 ...

  4. 基于elementui源码实现自定义穿梭框transfer组件

    需求:更改elementui中el-transfer样式, 实现单击左侧选项即加入右边选框,单击右侧选项即可回到左侧选框,中间左右来回按钮更改为左侧全选右侧全选,最终修改后效果图如下 下图源码可通过g ...

  5. Android6.0 源码修改之 仿IOS添加全屏可拖拽浮窗返回按钮...

    Android6.0 源码修改之 仿IOS添加全屏可拖拽浮窗返回按钮 前言 之前写过屏蔽系统导航栏功能的文章,具体可看Android6.0 源码修改之屏蔽导航栏虚拟按键(Home和RecentAPP) ...

  6. 写一个PE的壳_Part 5:PE格式修复+lief源码修改

    系列汇总 写一个PE的壳_Part 1:加载PE文件到内存 写一个PE的壳_Part 2:ASLR+修复输入表(IAT)+重定位表支持(.reloc) 写一个PE的壳_Part 3:Section里实 ...

  7. adb 工具源码修改

    adb 工具源码修改 1.修改客户端输入后的判断逻辑,使带密码的命令 可以通过命令检查 修改 system/core/adb/client/commandline.cpp 在最前面 新增一个函数 用来 ...

  8. grbl控制3轴机械臂 原理 实现 (四) 之GRBL源码修改驱动三轴机械臂

    往期回顾: 第一篇:grbl控制3轴机械臂 原理 实现 (一) 之2D机械臂模拟及实现 第二篇:grbl控制3轴机械臂 原理 实现 (二) 之3D机械臂模拟及实现 第三篇:grbl控制3轴机械臂 原理 ...

  9. file-uploader-cli 关于上传至京东云中文件夹问题的源码修改

    file-uploader-cli源码修改 注:可以直接跳到最下面看需要修改的部分 最近由于Gitee的开源审查,导致其无法再作为图床使用.在对比了多家OSS服务后,决定使用京东云作为新图床,并使用f ...

最新文章

  1. 基于向量空间的知识图谱查询及结果解释
  2. python必学_Python必学框架
  3. 使用Qt创建XML文档及XML文档的增删改
  4. Google: 如何做code review?
  5. SAP Spartacus里的feature module
  6. java heroku_Neo4j Java Rest绑定入门(Heroku部署)
  7. linux下开启dhcp服务器配置,CentOS下DHCP服务器的配置
  8. STM32之SPI原理
  9. WinCE 控制面板和驱动通信
  10. Fiddler抓取APP数据包实践教程
  11. zabbix的源码安装
  12. tensorflow学习笔记(三十四):Saver(保存与加载模型)
  13. linux使用wiznote笔记
  14. 高德地图---行政区划分
  15. Aras Innovator: 如何导入项目模板
  16. Fireshot——很棒的的网页截图扩展
  17. 2021-10-30
  18. c++第七课 加法算数运算
  19. TPM分析笔记(九)TPM资源实体-句柄
  20. opencv在电脑屏幕上画_opencv 用鼠标在窗口中画矩形

热门文章

  1. Apache优化:修改最大并发连接数
  2. github删除文件夹
  3. haskell的分数运算
  4. Visual Studio 2008 每日提示(十四)
  5. Silverlight的企业应用
  6. The HipHop Virtual Machine
  7. ls -l |wc -l命令多统计一行
  8. Linux(centos6.0)下安装Node.js以及使用
  9. 配置MySQL主从复制
  10. 深入探讨Varnish缓存命中率