我正在创建一个基于 Aurelia Skeleton Plugin 的新插件。但我不知道如何使其可配置。我希望用户在添加我的插件时设置一个属性(特别是 API 路径)。这样,每当他们使用该插件时,就会按照他们需要的方式进行配置。
最佳答案
- 向您的插件
configure
方法添加第二个“回调”参数:
configure(frameworkConfig, callback) {
- 检查是否传入了此参数。如果是,请使用“Configurer”类调用它。
const myPluginConfiguration = new MyPluginConfiguration();
if (callback instanceof Function) {
callback(myPluginConfiguration);
}
- 最后,应用配置:
myPluginConfiguration.apply();
使用您插件的应用程序会在其 main.js 中执行类似的操作
...
.plugin('my-plugin', config => config.apiPath('https://api.foo.com/'))
...
你的插件的配置类可能看起来像这样:
export class MyPluginConfiguration {
apiPath(path) {
// do something with path
}
apply() {
// any final configuration...
}
}
这是一个官方示例:https://github.com/aurelia/validation/blob/master/src/aurelia-validation.ts#L53
关于javascript - 如何创建可配置的 Aurelia 插件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39171794/