angular4在prod模式下的JIT编译问题

时间:2022-10-07 17:25:13

最近利用angular4开发一个项目,由于画面中的显示都是从数据表中读取,通过设置显示FLAG和显示顺序对画面布局按既定规则控制的,

所以必须利用动态编译实现。

方法如下,

  1,获取JitCompiler

    const injector = ReflectiveInjector.resolveAndCreate(COMPILER_PROVIDERS, parentInjector);

    const compiler = this.injector.get(JitCompiler) as JitCompiler;
  2,生成动态组件和模块
  3,动态模块中的Import模块必须把metadata信息也编译进去,不然会出现No NgModule metadata found for 'e'错误。
       4,生成ComponentFactory后,别忘记清楚编译器Cache中的动态模块和组件,否则一直存在。