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

Angular 15:配置browserslist要求ES6支持时Webpack报错

问题解决:Angular构建中browserslist引发的"tp.0"无效版本错误

问题背景

我的browserslist初始配置如下:

> 0.5%
last 2 versions
Firefox ESR
not dead
not IE 9-11

执行ng build时收到Angular CLI不支持ES5输出的警告,按照某Stack Overflow回答添加supports es6-module配置项后,Webpack抛出错误,提示Invalid version: "tp.0",完整错误日志(中文翻译)如下:

[error] HookWebpackError: 转换过程中出现1个错误:
error: 无效版本: "tp.0"
    at makeWebpackError (C:\Users\manna\Desktop\AngularProjects\angular-config\node_modules\webpack\lib\HookWebpackError.js:48:9)
    at C:\Users\manna\Desktop\AngularProjects\angular-config\node_modules\webpack\lib\Compilation.js:3060:12
    at eval (eval at create (C:\Users\manna\Desktop\AngularProjects\angular-config\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:115:1)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
-- 内部错误 --
Error: 转换过程中出现1个错误:
error: 无效版本: "tp.0"
    at failureErrorWithLog (C:\Users\manna\Desktop\AngularProjects\angular-config\node_modules\esbuild\lib\main.js:1604:15)
    at C:\Users\manna\Desktop\AngularProjects\angular-config\node_modules\esbuild\lib\main.js:837:29
    at responseCallbacks.<computed> (C:\Users\manna\Desktop\AngularProjects\angular-config\node_modules\esbuild\lib\main.js:701:9)
    at handleIncomingPacket (C:\Users\manna\Desktop\AngularProjects\angular-config\node_modules\esbuild\lib\main.js:756:9)
    at Socket.readFromStdout (C:\Users\manna\Desktop\AngularProjects\angular-config\node_modules\esbuild\lib\main.js:677:7)
    at Socket.emit (node:events:513:28)
    at addChunk (node:internal/streams/readable:324:12)
    at readableAddChunk (node:internal/streams/readable:297:9)
    at Readable.push (node:internal/streams/readable:234:10)
    at Pipe.onStreamRead (node:internal/stream_base_commons:190:23)

错误原因

supports es6-module这个browserslist查询语法,当前Angular使用的esbuild构建工具无法正确解析,导致生成了无效的版本标识"tp.0",触发构建失败。

解决方案

1. 恢复原始browserslist配置

移除supports es6-module,回到初始配置:

> 0.5%
last 2 versions
Firefox ESR
not dead
not IE 9-11

2. 调整Angular构建配置解决ES5警告

打开angular.json,找到对应项目的build配置节点,在options中添加或修改以下配置:

{
  "projects": {
    "your-project-name": {
      "architect": {
        "build": {
          "options": {
            "target": "es2015", // 或根据需求设置为es5
            "browserslist": "./.browserslistrc" // 指定你的browserslist配置文件路径
          }
        }
      }
    }
  }
}

3. 配套调整TypeScript配置(若需ES5输出)

如果确实需要ES5输出,修改tsconfig.json中的target字段:

{
  "compilerOptions": {
    "target": "es5"
  }
}

注意:Angular 12及以上版本默认使用ES2015+作为目标,若强制ES5需确保@angular-devkit/build-angular版本兼容,避免出现其他兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 18:15:40