懒加载Aurelia插件

时间:2017-01-17 17:03:56

标签: javascript single-page-application aurelia aurelia-framework

我有一个大插件(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 个答案:

答案 0 :(得分:17)

在您要加载插件的任何模块中,引用Aurelia模块中的FrameworkConfiguration类和aurelia-framework类:

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

在ctor中获取对Aurelia对象的引用:

  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