8

Tôi có một plugin lớn (abalmus/aurelia-ace-editor) mà tôi đang cố gắng tải vào Aurelia và nó làm tổn thương thời gian tải trang của tôi. Có ai biết làm thế nào để tải một plugin Aurelia khác hơn là bắt đầu ứng dụng?Lazy tải Aurelia plugin

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()); 
} 

Trả lời

15

Trong bất cứ điều gì bạn muốn mô-đun để nạp plugin, tài liệu tham khảo cả lớp Aurelia và lớp FrameworkConfiguration từ các module aurelia-framework:

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

Nhận một tài liệu tham khảo đối tượng Aurelia trong ctor:

constructor(private aurelia: Aurelia) { } 

Sau đó, ở một nơi thích hợp (ví dụ như activate chức năng), tạo ra một đối tượng mới FrameworkConfiguration và tải các plugin:

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

Để đọc hơn https://github.com/aurelia/framework/issues/145