在Angular browser support page中,它说明了JIT编译和ES7 / reflect polyfill:
如果您始终使用AOT并且仅使用Angular装饰器,则可以删除。
我不清楚两件事:
AOT为什么不要求使用反射?不需要读取元数据进行依赖注入的反思吗?
“仅使用Angular装饰器”是什么意思?
答案 0 :(得分:1)
为什么AOT不需要使用反射?不需要反思 读取元数据以进行依赖项注入?
是的,AOT适用于不需要反射的编译版本。 AOT编译器会静态解析所有元数据,并将其转换为包含它们需要呈现的所有内容的工厂。
“仅使用Angular装饰器”是什么意思?
如果使用任何非特定于角度的装饰器,则必须包括该polyfill,因为AOT编译器仅转换它知道的装饰器,即@Component
,@Input
@NgModule
等。它也会删除那些捆绑中的装饰器。对于将在运行时执行的其他装饰器,我们必须包括该polyfill。