Angular中browserTarget已弃用,改用buildTarget报错如何解决?
解决Angular中browserTarget弃用与buildTarget报错问题
核心原因
Angular版本迭代中,browserTarget在16+版本的部分CLI配置中被buildTarget替代,但部分场景(旧版插件、特定builder)仍依赖browserTarget,导致替换后报错。
1. 先确认你的Angular版本
终端执行命令查看版本:
ng version
- Angular 15及更早:别换
buildTarget,继续用browserTarget。弃用提示只是提前告知后续版本移除,当前版本完全可用。 - Angular 16+:按以下场景调整配置
2. Angular 16+的正确配置
场景1:配置serve节点
在angular.json的projects -> [你的项目名] -> architect -> serve下,必须用buildTarget,示例:
"serve": { "builder": "@angular-devkit/build-angular:dev-server", "options": { "buildTarget": "你的项目名:build" } }
场景2:配置test/第三方插件节点
如果是test或第三方插件的配置,部分工具还未适配buildTarget,可以:
- 同时保留
browserTarget和buildTarget,兼容新旧要求 - 检查插件版本,更新到适配Angular 16+的版本
场景3:仍提示缺少browserTarget
说明当前使用的builder(比如自定义builder、旧版官方builder)不支持buildTarget:
- 执行
npm list @angular-devkit/build-angular,确保builder版本与Angular CLI一致 - 若为第三方builder,暂时回退用
browserTarget,等插件更新后再切换
3. 针对你截图的补充建议
从截图配置来看,先确认builder是否为新版的@angular-devkit/build-angular:dev-server(serve用),再检查buildTarget的格式是否正确(格式为项目名:构建配置,比如my-app:build或my-app:build:production)。如果还是报错,直接暂时保留browserTarget,弃用提示不影响项目运行。
内容的提问来源于stack exchange,提问作者Error99 Eroor
相关产品推荐
相关产品推荐

