vue修改node_modules中的文件后续安装依旧保存

当node_modules中的依赖有bug或不满足需求时,可以使用patch-package来安全地修改源码并保存更改。步骤包括安装patch-package,修改package.json,手动调整依赖源码,创建补丁文件,然后即使重新安装,修改也不会丢失。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求:如果node_modules 中的依赖有bug 或者 不满足我们的地方, 我们需要更改node_modules 依赖包中的源码时,为了不更改后,别人或者自己重新 npm install 时, 导致我们的更改丢失,我们需要用到patch-package

1.通过命令安装 patch-package

npm install patch-package --save-dev

2.修改项目根目录下的 package.json 文件

   在 package.json 文件中的 scripts 中加入 "postinstall": "patch-package"

3.手动修改 node_modules 依赖包中的源码

 例如:修改的是node_modules中easyscroller文件夹中的EasyScroller.js文件源码

4.手动执行命令创建 npx patch-package package-name 补丁文件,package-name就是node_modules中的根文件夹名,依赖包的名字

例如:修改的是easyscroller文件夹中以内的文件

执行命令 npx patch-package easyscroller

5.项目根目录中会自动创建一个 patches 文件夹,每次修改不同的依赖包,每次都要执行npx patch-package package-name

6.这样 哪怕修改依赖的源码之后, 重新 npm install 也不会导致我们的修改内容丢失

 

 

npm run dev > vue-admin-template@4.4.0 dev > vue-cli-service serve INFO Starting development server... ERROR Error: Cannot find module 'default-gateway' Require stack: - E:\template\vue-admin-template\node_modules\internal-ip\index.js - E:\template\vue-admin-template\node_modules\@vue\cli-service\node_modules\webpack-dev-server\lib\utils\createDomain.js - E:\template\vue-admin-template\node_modules\@vue\cli-service\node_modules\webpack-dev-server\lib\utils\addEntries.js - E:\template\vue-admin-template\node_modules\@vue\cli-service\node_modules\webpack-dev-server\lib\utils\updateCompiler.js - E:\template\vue-admin-template\node_modules\@vue\cli-service\node_modules\webpack-dev-server\lib\Server.js - E:\template\vue-admin-template\node_modules\@vue\cli-service\lib\commands\serve.js - E:\template\vue-admin-template\node_modules\@vue\cli-service\lib\Service.js - E:\template\vue-admin-template\node_modules\@vue\cli-service\bin\vue-cli-service.js Error: Cannot find module 'default-gateway' Require stack: - E:\template\vue-admin-template\node_modules\internal-ip\index.js - E:\template\vue-admin-template\node_modules\@vue\cli-service\node_modules\webpack-dev-server\lib\utils\createDomain.js - E:\template\vue-admin-template\node_modules\@vue\cli-service\node_modules\webpack-dev-server\lib\utils\addEntries.js - E:\template\vue-admin-template\node_modules\@vue\cli-service\node_modules\webpack-dev-server\lib\utils\updateCompiler.js - E:\template\vue-admin-template\node_modules\@vue\cli-service\node_modules\webpack-dev-server\lib\Server.js - E:\template\vue-admin-template\node_modules\@vue\cli-service\lib\commands\serve.js - E:\template\vue-admin-template\node_modules\@vue\cli-service\lib\Service.js - E:\template\vue-admin-template\node_modules\@vue\cli-service\bin\vue-cli-service.js at Module._resolveFilename (node:internal/modules/cjs/loader:1077:15) at Module._load (node:internal/modules/cjs/loader:922:27) at Module.require (node:internal/modules/cjs/loader
03-28
D:\JAVA\code\spring-ai-protal> cnpm install | [21/23] Installing vue-router@^4.2.5 unsetInstallDone: D:\JAVA\code\spring-ai-protal\node_modules\.store\ai-hub@0.0.0\node_modules\ai-hub error: Error: ENOENT: no such file or directory, chmod 'D:\JAVA\code\spring-ai-protal\nod× Install fail! Error: ENOENT: no such file or directory, mkdir 'D:\JAVA\code\spring-ai-protal\node_modules\.store\ai-hub@0.0.0\node_modules\ai-hub\node_modules\.bin' Error: ENOENT: no such file or directory, mkdir 'D:\JAVA\code\spring-ai-protal\node_modules\.store\ai-hub@0.0.0\node_modules\ai-hub\node_modules\.bin' at async Object.mkdir (node:internal/fs/promises:858:10) at async exports.mkdirp (D:\JAVA\utils\node\node_global\node_modules\cnpm\node_modules\npminstall\lib\utils.js:125:3) at async bin (D:\JAVA\utils\node\node_global\node_modules\cnpm\node_modules\npminstall\lib\bin.js:36:3) at async linkModule (D:\JAVA\utils\node\node_global\node_modules\cnpm\node_modules\npminstall\lib\install_package.js:413:5) at async _install (D:\JAVA\utils\node\node_global\node_modules\cnpm\node_modules\npminstall\lib\install_package.js:162:5) at async install (D:\JAVA\utils\node\node_global\node_modules\cnpm\node_modules\npminstall\lib\install_package.js:23:12) at async mapper (D:\JAVA\utils\node\node_global\node_modules\cnpm\node_modules\npminstall\lib\install_package.js:270:9) npminstall version: 7.12.0 npminstall argv: D:\JAVA\utils\node\node.exe D:\JAVA\utils\node\node_global\node_modules\cnpm\node_modules\npminstall\bin\install.js --fix-bug-versions --china --userconfig=C:\Users\86159\.cnpmrc --disturl=https://cdn.npmmirror.com/binaries/node --registry=https://registry.npmmirror.com
最新发布
07-05
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值