Ionic 3项目生产构建疑问:--aot与--prod哪个用于生产构建?
在Ionic 3中,--prod vs --aot:哪个用于生产构建包?
简单直接给结论:--prod才是生成生产构建包的核心参数,--aot只是生产优化流程中的一个环节而已。
我来拆解下两者的区别和关联:
--aot(Ahead-of-Time编译):这个参数只负责提前把Angular模板编译成原生JS代码,避免应用运行时的动态编译开销,能提升启动速度。但它单独使用时,并不会开启生产环境需要的其他关键优化——比如代码压缩、混淆、树摇这些都不会生效,所以单独用--aot构建出来的包还不是真正的生产包。--prod:这是Ionic为生产环境准备的“全量优化开关”,它会自动启用包括AOT在内的所有生产级优化,具体包含:- 开启AOT编译(相当于自动加上了
--aot) - 对代码进行压缩、混淆,大幅减小包体积
- 启用树摇,剔除项目中未被使用的冗余代码
- 禁用Angular开发模式下的调试断言和性能检查
- 移除调试相关的日志和代码片段
- 开启AOT编译(相当于自动加上了
所以在实际开发中,你只需要运行以下命令就能生成完整的生产构建包:
# Android生产构建 ionic cordova build android --prod # iOS生产构建 ionic cordova build ios --prod
额外提一句:在Ionic 3中,如果你在--prod后面再加--aot是完全没必要的,因为--prod已经包含了这个优化步骤,属于重复操作。
内容的提问来源于stack exchange,提问作者Utpaul
相关产品推荐
相关产品推荐

