Angular 7使用compileModuleAndAllComponentsAsync创建动态模块

时间:2019-06-30 11:01:04

标签: javascript dynamic components aot

问题:

我必须渲染一个动态html,它在运行时以字符串形式生成,因此,为此,我使用了动态组件方法innerHTML来满足*ngIf,{ {1}},formGroup等,但是在本地服务器上部署后出现以下错误。

错误:

  

错误:模块“ function(){}”导入了意外的值“ function(){}”。请添加@NgModule批注。

我尝试创建动态模块,但是在制作router-link时出错,因为它位于非延迟加载的模块中,并且根据一种解决方案,我发现aot build无法用于生成动态组件在延迟加载的模块中。

现在,当我将其移至非aot模块中时,在生成lazy-loaded构建时在本地不会出现任何错误,但是在部署后会收到此错误,但是部署成功了,并且没有中断。 / p>

动态模块

aot

STEP组件

export function createCompiler(compilerFactory: CompilerFactory) {
  return compilerFactory.createCompiler();
}
@NgModule({
  declarations: [StepComponent],
  imports: [
    CommonModule
  ],
  exports: [StepComponent],
  entryComponents: [StepComponent],
  providers: [
    { provide: COMPILER_OPTIONS, useValue: {}, multi: true },
    { provide: CompilerFactory, useClass: JitCompilerFactory, deps: [COMPILER_OPTIONS] },
    { provide: Compiler, useFactory: createCompiler, deps: [CompilerFactory] }
  ]
})
export class DynamicStepModule { }

在本地生成aot版本时没有出现错误,但是在本地服务器上部署后却出现此问题:

  

错误错误:模块'function(){}'导入了意外的值'function(){}'。请添加@NgModule批注。

0 个答案:

没有答案