zoukankan      html  css  js  c++  java
  • 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文件都没什么格式问题。

  • 相关阅读:
    Openstack 通过 SQLAlchemy-ORM 访问数据库
    ulimit -c unlimited
    ajax 调用后台接口示例
    读书有什么用——北漂18年(番外篇三)
    zTree点击文字勾选复选框
    深度剖析 | 基于大数据架构的BI应用
    深度剖析 | 基于大数据架构的BI应用
    AngularJS之对话框
    AngularJS之依赖注入(实例一)
    AngularJS之$watch方法(监控动作)
  • 原文地址:https://www.cnblogs.com/QH-Jimmy/p/7773600.html
Copyright © 2011-2022 走看看