element源码修改,为依赖打补丁

1.使用插件

使用patch-package来修改node_modules

问题:

1.使用这种写法,没办法编译

node_module 下面的element 包,没办法直接安装依赖 执行编译

2. 你直接去改webpack 打包后的,最终文件,看不懂代码

3. 直接 替换lib 下面的所有数据, 插件报错了 特么的

总之:对于修改element 来说不建议使用

中间遇到的问题:

package-lock.json 文件,不存在

导致 无法使用 npx patch-package element-ui

解决方法:

后来更新了npm到最新版本,npm i

npm install -g npm npm i

提示,不要用 cnpm 特么的 莫名其妙的问题 ...

npx patch-package element-ui

"postinstall": "patch-package"

2.直接下载github 项目, 替换依赖的方法:

    clone npm install 修改文件 npm run dist 找到你的项目中的node_modules包下的element-ui文件夹下的lib包,用你修改好后打包生成的lib包进行替换即可生效

3.直接替换的方式,别人下载依赖的时候 也要替换吗 ??

于是 ,查看element 的文件入口 :

这就是编译完之后的数据 ,于是 ,做拦截, 重定向到我们自己修改的文件下,就行了

resolve: {
    extensions: [.js, .vue, .json],
    alias: {
      vue$: vue/dist/vue.esm.js,
      @: resolve(src),
      /static: resolve(static),
      ./lib/element-ui.common.js:resolve(static)+/lib/element-ui.common.js
    }
  },

如果你是vue-cli3 之后的,脚手架

参看这个:

const path = require(path);
module.exports = {
  chainWebpack: config => {
    config.resolve.alias
      .set(./patchers, path.resolve(__dirname, src/assets/patchers.js))
  }
};
经验分享 程序员 微信小程序 职场和发展