当前位置: 首页 > article >正文

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

一般情况下,如果是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"
  }
}


http://www.kler.cn/a/326405.html

相关文章:

  • 深度学习神经网络创新点方向
  • 如何进入python交互界面
  • C语言剖析:srand()/rand()/time()
  • 论文笔记(五十六)VIPose: Real-time Visual-Inertial 6D Object Pose Tracking
  • Vue3 provide 和 inject的使用
  • 3D意识(3D Awareness)浅析
  • springboot实战学习(10)(ThreadLoacl优化获取用户详细信息接口)(重写拦截器afterCompletion()方法)
  • 解决VRM格式模型在Unity中运行出现头发乱飞等问题
  • Java | Leetcode Java题解之第443题压缩字符串
  • ECCV 2024 | 融合跨模态先验与扩散模型,快手处理大模型让视频画面更清晰!
  • 数据中心解决方案
  • 手写体识别毕设——人工智能和深度学习技术的快速发展
  • 前端安装 lerna
  • Knots_3D 9.3.0 一款教你绑绳结的手机应用
  • 高标准农田灌区信息化:为农业可持续发展注入新动力
  • 开源模型应用落地-qwen2.5-7b-instruct-LoRA微调-LLaMA-Factory-单机单卡-V100(十八)
  • 抽象工厂模式和工厂模式的区别
  • 使用 IntelliJ IDEA 连接到达梦数据库(DM)
  • 大厂面试真题- RPC通讯协议如何保证数据完整性
  • 谷歌网站收录查询,怎么查看网站在谷歌的收录情况
  • 1. AOSP源码导入到AndroidStudio
  • JWT 令牌生成报错
  • Linux(含麒麟操作系统)如何实现多显示器屏幕采集录制
  • 8.代码风格调试%结课竞赛
  • Ubuntu篇——Ubuntu20.04备份成ISO镜像文件并安装到其他电脑上(完整步骤)
  • 安全无忧,简单便捷:打造财富通开锁小程序