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

React应用Yarn部署触发Unhandled 'error' event错误该如何解决

报错根因说明

该报错为Windows环境下terser-webpack-plugin依赖的jest-worker子进程通信异常导致,通常由参数配置错误、多进程压缩兼容问题、依赖版本不匹配引发。

可行解决方案

1. 修正内存参数配置

你之前的--max-old-space-size参数位置错误,该参数是Node.js的启动参数,不能直接加在react-app-rewired后面,修改package.json的build命令为:

"build": "node --max-old-space-size=8192 node_modules/react-app-rewired/bin/index.js build",

也可以通过NODE_OPTIONS环境变量配置,写法更简洁:

"build": "cross-env NODE_OPTIONS=--max-old-space-size=8192 react-app-rewired build",

如果使用cross-env需要先执行yarn add cross-env -D安装依赖

2. 禁用terser多进程压缩

Windows系统下terser的多进程压缩容易出现IPC通信异常,修改项目根目录的config-overrides.js配置,关闭多进程:

const TerserPlugin = require('terser-webpack-plugin');

module.exports = function override(config, env) {
  // 仅生产环境构建时修改压缩配置
  if (env === 'production') {
    config.optimization.minimizer = config.optimization.minimizer.map(plugin => {
      if (plugin instanceof TerserPlugin) {
        // 关闭多进程压缩
        plugin.options.parallel = false;
      }
      return plugin;
    });
  }
  return config;
}

3. 完全重置项目依赖

  • 关闭所有占用项目文件的程序(编辑器、终端、调试进程等)
  • 删除项目根目录的node_modules文件夹、yarn.lock、package-lock.json文件
  • 执行yarn install重新安装所有依赖

4. 更换Node.js版本

如果当前使用的是非LTS的尝鲜版,或者低于14.x的老旧版本,卸载后安装16.x/18.x的Node.js LTS稳定版,重装后重新执行依赖安装和构建。

5. 替换压缩工具(可选)

如果以上方案都无效,可以替换terser为性能更高、兼容性更好的esbuild进行压缩,通过react-app-rewired引入esbuild-loader或者esbuild-minimizer-webpack-plugin即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 00:45:09