欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > 前端项目依赖包中的依赖包漏洞解决方案

前端项目依赖包中的依赖包漏洞解决方案

2024/10/25 11:18:30 来源:https://blog.csdn.net/qq_31851435/article/details/142552170  浏览:    关键词:前端项目依赖包中的依赖包漏洞解决方案

一般情况下,如果是package.json文件中的依赖包出现漏洞,我们可以直接到最新版本或者指定版本即可。

还有一种情况就是依赖包中的子依赖包甚至更深层级的包存在漏洞,这个时候改最外层包的版本并不能解决这个问题。

以下方案可以实现强制升级子包依赖,代码供参考:

1、正常提交package-lock.json文件到代码库

2、在package.json文件中的scripts配置项添加如下命令:

"preinstall": "npx force-resolutions"

"preinstall": "npx npm-force-resolutions"

如果上述命令报错可使用以下命令:

"preinstall": "npm install --package-lock-only --ignore-scripts && npx npm-force-resolutions"

3、在package.json文件中的resolutions配置项中添加需要升级的依赖版本,比如unset-value的无漏洞版本 为2.0.1,那么我们可以配置如下:

"resolutions": {"unset-value": "2.0.1"}

4、本地执行npm i 后提交package-lock.json文件

整个package.json文件看起来应该像这样:
{"name": "xxx-web","version": "0.1.0","private": true,"scripts": {"start": "npm run serve","serve": "vue-cli-service serve","build": "vue-cli-service build","lint": "vue-cli-service lint","preinstall": "npx npm-force-resolutions",},"dependencies": {"axios": "0.24.0","core-js": "3.19.1","echarts": "5.2.1",...},"devDependencies": {"@vue/cli-plugin-babel": "4.5.15","@vue/cli-plugin-eslint": "4.5.15","@vue/cli-plugin-router": "4.5.15",...},"resolutions": {"unset-value": "2.0.1"}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com