AoT 局限

然而,AoT不是完美的。 主要的限制是,由于编译原始代码的方式,AoT不能与常见的代码模式一起使用,例如,模块的默认导出,模板的模板文字以及提供者,路由或声明中的函数。 目前,我们没有“AoT Do’s and Don’ts”的完整列表,Angular团队并未就此问题发布任何内容。 Rangle在这里创建了自己的列表,并且还提供了一个用于使用AoT测试功能的沙盒。 AoT的另一个问题是,当应用程序达到一定的复杂性时,与JiT bundle相比,AoT bundle实际上会占用更多的空间。 作为对浏览器具有更简单的逻辑(因此渲染速度更快)的折衷,与“动态”JiT相比,由AoT生成的代码实际上更冗长。