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))
}
};
