如何创建可配置的Aurelia插件?

时间:2016-08-26 17:31:48

标签: javascript aurelia aurelia-framework

我根据Aurelia Skeleton Plugin创建了一个新插件。但我不知道如何使其可配置。我希望用户在添加插件时设置属性(特定于API路径)。因此,只要他们使用插件,就可以根据需要配置它。

1 个答案:

答案 0 :(得分:2)

  1. 为插件configure方法添加第二个“回调”参数:
  2. configure(frameworkConfig, callback) {
    
    1. 检查是否传入了此参数。如果是,请使用“Configurer”类调用它。
    2. const myPluginConfiguration = new MyPluginConfiguration();
      if (callback instanceof Function) {
          callback(myPluginConfiguration);
      }
      
      1. 最后,应用配置:
      2. 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