Общая ошибка: компилятор времени выполнения не загружен, - PullRequest
0 голосов
/ 13 мая 2018

Я создаю директиву в VSCode Editor, которая загружает html-страницу с указанием заданного пути:

Ниже приведен код для того же самого:

@Directive({
 selector: 'html-outlet'
})

export class HtmlOutlet {
 @Input() html: string;

 constructor(private vcRef: ViewContainerRef, private compiler: Compiler) { 
}

ngOnChanges() {
const html = this.html;
if (!html) return;

@Component({
    selector: 'dynamic-comp',
    templateUrl: html
})
class DynamicHtmlComponent { };

@NgModule({
    imports: [CommonModule],
    declarations: [DynamicHtmlComponent]
})
class DynamicHtmlModule { }

this.compiler.compileModuleAndAllComponentsAsync(DynamicHtmlModule)
    .then(factory => {
        const compFactory = factory.componentFactories.find(x => x.componentType === DynamicHtmlComponent);
        const cmpRef = this.vcRef.createComponent(compFactory, 0);
    });}}

Этот код отлично работалхорошо, пока я не обновил приложение до angular 6. Теперь я получаю ошибку ниже:

Компилятор времени выполнения не загружен Трассировка стека ошибок: Ошибка: Компилятор времени выполнения не загружен в Le (main.00612d315fe86075b5fb.js: 1) вt.compileModuleAndAllComponentsAsync

Могу ли я получить некоторую помощь в этом

1 Ответ

0 голосов
/ 14 мая 2018

Если вы запускаете приложение в режиме --prod, оно по умолчанию будет AOT, что не обеспечивает компилятор.

Я не думаю, что команда Angular вообще поощряет использование компилятора во время выполнения.

...