Angular 12执行ng build是否默认启用AOT完成生产环境编译?
Angular 官方文档说明:
Ahead-of-Time (AOT),即在构建阶段编译你的应用和库。从Angular 9开始这是生产构建的默认配置。
结论
你当前使用Angular 12的场景下,默认情况下直接执行ng build或者npm run build即可完成带AOT的生产环境编译,不需要额外加--prod参数,也不用修改配置,前提是你没有手动修改过angular.json的默认构建配置。
具体说明
- 从Angular 12版本开始,
ng build命令的默认构建配置就设定为production,原有的--prod参数已经被废弃,官方推荐显式指定配置时使用--configuration production,无需额外添加参数就能触发生产构建。 - 默认的
production构建配置中,AOT编译、代码摇树(Tree Shaking)、代码压缩、移除调试信息等生产环境优化项都是默认开启的,符合你的使用需求。 - 你提供的
package.json里scripts中的build命令就是原生ng build,直接执行npm run build和直接执行ng build效果完全一致。
验证方法(可选)
你可以打开项目根目录的angular.json文件,找到如下配置项确认:
{ "architect": { "build": { "defaultConfiguration": "production", "configurations": { "production": { "aot": true, // 其他生产配置项 } } } } }
只要defaultConfiguration值为production,且production配置下的aot为true,就完全符合要求。
内容的提问来源于stack exchange,提问作者Matt
相关产品推荐
相关产品推荐

