У меня возникла проблема при попытке скомпилировать внешний модуль в мое приложение angular.
Каждый внешний модуль упакован в файл *. js (проект встроенной библиотеки), которые загружаются до запускается основное приложение (с использованием поставщика APP_INITIALIZER). Все эти файлы импортируются через System JS.
Я знаю, что компиляция модуля с компилятором AOT во время выполнения невозможна, если вы используете экземпляр Compiler
this._compiler.compileModuleSync(pluginModule)
, поэтому я попытался импортировать экземпляр JitCompiler в мой AppModule:
{
provide: COMPILER_OPTIONS,
useValue: {},
multi: true
},
{
provide: CompilerFactory,
useClass: JitCompilerFactory,
deps: [COMPILER_OPTIONS]
},
{
provide: Compiler,
useFactory: createCompiler,
deps: [CompilerFactory]
},
и функцию экспорта:
export function createCompiler(fn: CompilerFactory): Compiler {
return fn.createCompiler();
}
Я предполагаю, что приведенный выше код должен работать, , но, как ни странно, ленивая загрузка больше не работает.
У меня больше нет идей, как скомпилировать среду выполнения модуля с помощью AOT? Есть ли способ создать / сгенерировать экземпляр NgModuleFactory?
В настоящее время переключен обратно на JIT-компилятор, что является наихудшим решением: (
Thanx!