Angular 15:如果我需要 browserslist 文件中的 ES6 支持,Webpack 会抛出错误

Dan*_*220 5 javascript web webpack angular browserslist

我的浏览器列表文件是

> 0.5%
last 2 versions
Firefox ESR
not dead
not IE 9-11
Run Code Online (Sandbox Code Playgroud)

运行时ng build它会抛出警告,指出 Angular CLI 不支持 ES5 输出

所以我按照这个答案的建议将以下行添加到 browserslist 中: supports es6-module

但随后 Webpack 抛出无效版本错误 (tp.0) 日志:

[error] HookWebpackError: Transform failed with 1 error:
error: Invalid version: "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)
-- inner error --
Error: Transform failed with 1 error:
error: Invalid version: "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)
Run Code Online (Sandbox Code Playgroud)

Zze*_*Zze 0

我们遇到了完全相同的问题。然而,这个问题已于 2022 年 12 月 14 日在 Angular 中得到修复15.0.4

我正在努力寻找他们在 15.0.4 发布历史记录中所做的确切更改,但是这是他们随修复程序所做的 doco 更新的链接。

https://github.com/angular/angular/pull/47842/files

当时 Safari 支持被解释为包含“最后 2 个版本”的 ES5 浏览器。