You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue.js项目npm install遇18个漏洞,常规修复无效求解决方案

Vue项目npm依赖漏洞修复方案

一、强制替换深层依赖版本(快速临时修复)

在package.json中添加overrides字段(npm 8.3+版本支持),强制指定有漏洞的依赖为安全版本:

"overrides": {
  "ajv": "^6.12.6",
  "json5": "^1.0.2",
  "nth-check": "^2.0.1",
  "serialize-javascript": "^3.1.0",
  "ssri": "^6.0.2"
}

添加完成后执行:

npm install

二、替换废弃/停止维护的顶层插件

多数漏洞来自不再更新的旧插件,直接替换为官方推荐的替代方案:

  • 替换extract-text-webpack-plugin:该插件已废弃,改用mini-css-extract-plugin

    npm uninstall extract-text-webpack-plugin
    npm install mini-css-extract-plugin --save-dev
    

    随后修改webpack配置文件,将ExtractTextPlugin替换为MiniCssExtractPlugin。

  • 替换uglifyjs-webpack-plugin:改用terser-webpack-plugin(webpack 4+版本默认内置)

    npm uninstall uglifyjs-webpack-plugin
    npm install terser-webpack-plugin --save-dev
    

    更新webpack配置中的代码压缩插件配置。

  • 替换optimize-css-assets-webpack-plugin:改用css-minimizer-webpack-plugin

    npm uninstall optimize-css-assets-webpack-plugin
    npm install css-minimizer-webpack-plugin --save-dev
    

三、升级Babel生态依赖

旧版babel-core(5.x)存在依赖链漏洞,直接升级到新版@babel系列:

npm uninstall babel-core babel-register
npm install @babel/core @babel/register --save-dev

同时更新项目根目录的.babelrc或babel.config.js配置,例如使用@babel/preset-env:

{
  "presets": ["@babel/preset-env"]
}

四、升级cssnano及相关依赖

升级到最新版cssnano及配套插件,修复依赖链漏洞:

npm install cssnano@latest postcss-svgo@latest cssnano-preset-default@latest --save-dev

五、彻底清理后重装依赖

执行以下命令清除缓存和旧依赖,重新安装:

npm cache clean --force
rm -rf node_modules package-lock.json
npm install

内容的提问来源于stack exchange,提问作者raahim sarfaraz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 03:35:34