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

删除node_modules后运行npm run serve出现Webpack配置验证错误

解决Webpack配置jsonpFunction属性无效的报错问题

问题分析

报错信息明确说明:Webpack 5中output.jsonpFunction已被废弃,替换为output.chunkLoadingGlobal。但你的项目基于Vue CLI 4.x(对应Webpack 4),本不该触发Webpack 5的校验逻辑,问题大概率来自以下场景:

  • 全局安装的@vue/cli版本过高(如5.x,对应Webpack 5),导致本地项目调用了全局的Webpack 5依赖
  • 项目依赖中的某个插件(如single-spa相关插件)强制拉取了Webpack 5版本
  • 本地或全局缓存残留了Webpack 5的包文件

解决方案

1. 对齐全局Vue CLI版本

先检查全局Vue CLI版本:

vue --version

确保全局版本和项目中@vue/cli-service的版本(4.5.19)一致。如果全局版本是5.x,执行以下命令降级:

npm uninstall -g @vue/cli
npm install -g @vue/cli@4.5.19

2. 强制锁定Webpack 4版本

在项目的package.json中添加resolutions字段,强制所有依赖使用Webpack 4:

{
  // 原有内容保留
  "resolutions": {
    "webpack": "^4.46.0"
  }
}

如果使用npm,需要安装npm-force-resolutions让配置生效:

npm install -D npm-force-resolutions

同时修改scripts添加预安装钩子:

"scripts": {
  "preinstall": "npx npm-force-resolutions",
  // 原有脚本不变
}

之后重新安装依赖:

# Windows环境执行:rmdir /s /q node_modules && del package-lock.json
rm -rf node_modules package-lock.json
npm install

3. 适配single-spa插件版本

你使用的vue-cli-plugin-single-spa@3.3.0和standalone-single-spa-webpack-plugin@3.0.0更适配Webpack 5,尝试降级到适配Webpack 4的版本:

npm uninstall vue-cli-plugin-single-spa standalone-single-spa-webpack-plugin
npm install -D vue-cli-plugin-single-spa@2.3.0 standalone-single-spa-webpack-plugin@2.2.0

4. 彻底清理缓存

执行以下命令清除全局和本地缓存:

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

为什么另一台机器正常?

另一台机器的全局Vue CLI版本为4.x,且本地node_modules中依赖的Webpack版本稳定在4.x,没有被意外升级,因此可以正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 10:09:55