Ленивый плагин Aurelia

У меня есть большой плагин (abalmus/aurelia-ace-editor), который я пытаюсь загрузить в Aurelia, и это вредит времени загрузки моей страницы. Кто-нибудь знает, как загрузить плагин Aurelia, кроме как при запуске приложения?

Main.ts:

import { Aurelia } from 'aurelia-framework';

export function configure(aurelia: Aurelia) {
  aurelia.use
    .standardConfiguration()
    .developmentLogging()
    .plugin('aurelia-validation')
    .plugin('aurelia-validatejs')
    .plugin('aurelia-animator-css')
    .plugin('abalmus/aurelia-ace-editor')
    .plugin('aurelia-cookie')
    .feature('lib/form-validation-renderer');

  aurelia.start().then(() => aurelia.setRoot());
}

1 ответ

Решение

В любом модуле, который вы хотите загрузить плагин, укажите оба Aurelia класс и FrameworkConfiguration класс из aurelia-framework модуль:

import { Aurelia, FrameworkConfiguration } from 'aurelia-framework';

Получить ссылку на объект Aurelia в ctor:

  constructor(private aurelia: Aurelia) { }

Затем в соответствующем месте (например, activate функция), создайте новый FrameworkConfiguration Объект и загрузить плагин:

activate() {
  return new FrameworkConfiguration(this.aurelia).plugin('abalmus/aurelia-ace-editor').apply();
}

Для получения дополнительной информации https://github.com/aurelia/framework/issues/145

Другие вопросы по тегам