如何退出Angular v16对TypeScript target自动覆盖为ES2022的设置?
解决Angular CLI自动覆盖tsconfig target属性的问题
Angular CLI从v14版本开始,会依据browserslist配置自动推断并覆盖tsconfig.json中的target属性。如果你的browserslist未被正确识别,就会出现目标版本不符合预期的情况。你可以通过以下步骤关闭自动覆盖,强制指定编译目标:
- 打开项目根目录下的
angular.json文件 - 定位到对应项目的
architect -> build -> options节点,添加target字段并设置为ES2020:
"architect": { "build": { "options": { "target": "ES2020", // 保留原有其他配置项 } } }
- 若需要开发模式(serve)下也生效,在
architect -> serve -> options节点中添加相同的target配置。
补充说明
- 一旦在
angular.json中手动指定target,CLI会优先使用该配置,不再自动覆盖tsconfig.json的对应字段 - 若之前的
browserslist未生效,可检查文件是否放在项目根目录,内容是否正确(比如Chrome >= 90),但手动指定target后无需依赖该配置
修改完成后重启开发服务器或重新执行构建命令即可生效。
内容的提问来源于stack exchange,提问作者Huseyin
相关产品推荐
相关产品推荐

