element-ui2源码修改小问题

最近element-ui升级到2了,添加了不少功能,可喜可贺,可喜可贺!

然而,产品的需求依然那么刁钻,上传与删除图片还是要去改源码,为了同时用新的ele,决定在2中改源码

然而,遇到问题了。

  一开始与之前博客中描述的一样,将github上的目录弄下来,修改对应的组件,然后执行npm run dist,如下图:

  

  没错,竟然报错了,报错的文件也很奇葩,是一个我根本没动过也没见过的json文件。

  回头看了一个目录,在ele1中是没有这个文件的:

element-ui1:

element-ui2:

 

  虽然不知道这个文件干嘛用的,不过报了错就进去看一眼:

  

  一个很普通的配置文件,报错的地点圈起来了,是一个冒号。我一开始以为是中文冒号,后来发现不对,确实没啥问题,但是就是报错。

  就算我注释了browsers那一行,下面features的冒号也会报错,这个冒号有毒!

  然后我尝试注释掉里面的代码,然后执行npm run dist,依然不行,报错。

  

  不知道这是什么鬼,于是开始研究这个指令本身,打开package.json文件,找到scripts中的dist,这个指令有点长:

    "dist": "npm run clean && npm run build:file && npm run lint && cooking build -c build/cooking.conf.js,build/cooking.common.js,build/cooking.component.js -p && npm run build:utils && npm run build:umd && npm run build:theme",

  一连串的调用指令,然后其中某个环节报了错。

  之前的报错来的很快,所以看一下执行过程就明白了:

  

  这里代表npm run clean,执行成功。

  

  npm run build:file也执行成功

  

  这样就明显了,第三个指令npm run lint指令报错了,将其单独抽出来执行也验证了我的想法。

  然后看一眼这个指令

    "lint": "eslint src/**/* test/**/* packages/**/*.{js,vue} build/**/* --quiet",

  意思很明了,简单来讲就是对src、test、packages下所有的js、vue文件,build下的所有文件做语法检查,用的就是eslint。

  虽然不懂为什么那个JSON文件语法有问题(根本没动过),但是明白了这个指令只是纯粹的检查,不会影响lib的生成,那就好办了!

  直接将该指令从dist中删除,跳过检测直接生成lib。

  结果十分完美!至于这个报错,可能是eslint的问题吧,怎么看那个JSON文件都没什么格式问题。

原文地址:https://www.cnblogs.com/QH-Jimmy/p/7773600.html