Подтвердить что ты не робот

В чем разница между плагином Aurelia и функцией?

Я пытаюсь зарегистрировать пару плагинов для моего приложения, но я не уверен, как это сделать.

Плагины, которые у меня есть, включают в себя два ValueConverters и gooy/aurelia-animator-tinyanimate, которые я установил через JSPM.

Вот моя текущая реализация:

ресурсы \index.ts/JS

export function configure(aurelia) {
  aurelia.globalResources('../from-now', '../date-format');
}

main.ts/js (это точка входа в приложение)

import {Aurelia} from 'aurelia-framework';

export function configure(aurelia: Aurelia): void {
        aurelia.use
            .standardConfiguration()
            .developmentLogging()
            .plugin('resources/index', 'gooy/aurelia-animator-tinyanimate'); 

        aurelia.start().then(function () { return aurelia.setRoot('views/app'); });
}

Преобразователи работают, однако я не вижу загружаемый tinyanimate.

Исходя из вышеизложенного, у меня есть следующие вопросы:

  • как бы переместить gooy/aurelia-animator-tinyanimate в файл index.js?
  • В чем разница между plugin() и feature()?
4b9b3361

Ответ 1

Возможности в основном такие же, как плагин, за исключением того, что они живут в вашем собственном исходном дереве. На основе вашего файла index.js вам нужно будет загрузить свою функцию следующим образом:

aurelia.use.feature('resources`);

Предполагая, что файл index.js находится в папке resources. Вы можете изменить свой файл index.js на

export function configure(config) {
  config.globalResources('./from-now', './date-format');
}

и обновите структуру каталогов, чтобы поставить from-now.js и date-format.js в каталог resources. Вам не нужно это делать, но с организационной точки зрения это имеет смысл. Изменение имени параметра просто для лучшего описания того, что этот параметр (экземпляр FrameworkConfiguration).

Чтобы загрузить gooy/aurelia-animator-tinyanimate в ваш main.js файл, вам нужно удалить параметр 'resources/index' из вызова в plugin. Aurelia загрузит плагин правильно для вас. Ваш файл main.js должен выглядеть следующим образом:

export function configure(aurelia: Aurelia): void {
        aurelia.use
            .standardConfiguration()
            .developmentLogging()
            .feature('resources')
            .plugin('gooy/aurelia-animator-tinyanimate'); 

        aurelia.start().then(function () { return aurelia.setRoot('views/app'); });
}

Также обратите внимание, что нет необходимости в строке import {Aurelia} from 'aurelia-framework'; в вашем main.ts.