先描述在项目中遇到的一个坑,之前的项目里引用了nkn-sdk 这个npm包,但因为是老项目,重新跑起来的时候发现ts的类型错误了,抱着试一试的想法,去nkn-sdk的github地址看看,有没有解决方案,突然灵机一闪,看到了index.d.ts这个包,吧这个包 加到项目的node_module中的nkn-sdk的包里,问题没有了,但问题真的解决了吗?
试想,是在npm包里改的啊,那项目重新install,改动的地方不就还原了吗,线上不就报错了吗?这怎么能忍。于是,就轮到我们的patch-package的登场了,我先贴一下博文地址啊 www.cnblogs.com/jydeng/p/14…
我总结一下
1.准备
yarn add patch-package --dev
接着修改npm包里的内容
2. 然后执行命令生成补丁
格式是这样滴 npx patch-package 【包名】,还有其他复杂参数,参考文档自行选用,比如我这里的是 npx patch-package nkn-sdk
3. 一定要先配这个
`"scripts": {
"serve": "npm-run-all postinstall vue-cli-service serve",
"build": "npm-run-all postinstall vue-cli-service build"
"postinstall": "patch-package"
},`
4.最后在
`npx patch-package`