我正在尝试为我的应用注册几个插件但是我不确定应该怎么做。
我拥有的插件包括两个ValueConverters
和我JSPM
已安装的gooy/aurelia-animator-tinyanimate
。
这是我目前的实施:
资源\ 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()
之间的区别是什么?答案 0 :(得分:14)
功能与插件基本相同,只是它们位于您自己的源代码树中。根据您的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'); });
}
另请注意,您的main.ts中不需要import {Aurelia} from 'aurelia-framework';
行。