「这是我参与11月更文挑战的第1天,活动详情查看:2021最后一次更文挑战」。
为何要修改 node_modules
- 通过
webstorm全局搜索了项目文件并没有 图片中提到的owen23355@gmail.comtrash@rubaxa.org字段。证明不是项目内容,可能由与依赖有关。 - 再次打开
webstorm搜索node_modules证实是插件中存在 - 所以需要修改
node_modules删除相关内容就可以。本地修改node_modules事更新依赖的话 漏洞依然存在。 - 经过搜索后 发现答案都指向了
patch-package这个插件
开始修改
patch-package 是什么?
patch-package可以理解为 为npm 插件 打一个补丁,这个补丁可以用于修改node_modules文件中的内容,且修复完成后 重新下载依赖不会被还原。- 插件npm 首页由详细用法介绍。目前看很合适 就用它了
首先安装 patch-package
npm i patch-package
修改 node_modules 中需要修改的文件(一定要在三确认 慎重!!!!!)。
执行命令生成补丁
- 可以使用
yarn or npm。需要注意的是 使用 npx(npm > 5.2)
// 下面的 package-name 是指修改的包名
// yarn
yarn patch-package package-name
// npm
npx patch-package package-name
命令支持一些选项
- 执行完成会生成一个目录 存放补丁文件 默认在根目录下生成
patches目录
- 补丁文件类似git 记录了 删除 新增 等操作
最后一步 添加npm执行钩子
- 在 package.json 文件的
scripts中
"postinstall": "patch-package"