场景:需要修改安装的某个ui库的样式或者其他依赖,直接去node_modules中修改后,重新安装,或者其他小伙伴的电脑上并不能同时修改
方案:用patch-package 可以保留修改
安装 patch-package —> npm i patch-package --save
script加上‘‘postinstall’’:“patch-package”
这里是修改 taro-ui-vue3/dist/style/components/button.scss,修改任意一处代码,
border-radius: at−button−height/2;改成border−radius:calc(at-button-height / 2; 改成 border-radius: calc(at−button−height/2;改成border−radius:calc(at-button-height / 2);
执行 npx patch-package taro-ui-vue3
根目录下会生成一个补丁文件夹
最后,删除node_modules文件夹,重新安装npm i,如果button.scss里面是修改后的,那么补丁成功了
A、必须在package.json中设置postinstall, 否则重新安装后修改的代码不会保留
B、如果postinstall存在多个 用&&
比如 “postinstall”: “husky install && patch-package”
C、必须有package-lock.json 或者yarn.lock才能运行npx patch-package xxx, 否则会报错
D、如果升级了patch-package, 补丁会失效,需要锁定版本号