在Aurelia应用程序中初始化外部框架的正确方法是什么

时间:2016-02-08 02:20:01

标签: aurelia

我想知道这是否是Aurelia初始化框架的方式。 我正在使用基础6并且已经做了一个正常工作的覆盖

覆盖:

{
    "main": "dist/foundation",
    "files": ["dist", "assets", "js", "scss"],
    "shim": {
    "dist/foundation": {
        "deps": "jQuery",
            "exports": "Foundation"
    }
  },
    "dependencies": {
    "jQuery": "github:components/jquery"
  }
}

在我的主题中,我修改了以下代码添加

.then(a=> {
//initialize framework
        $(document).foundation();
})

完整的main.ts代码

import 'foundation';
import {Aurelia} from 'aurelia-framework';


export function configure(aurelia: Aurelia) {
  aurelia.use
    .standardConfiguration()
    .developmentLogging();

  //Uncomment the line below to enable animation.
  aurelia.use.plugin('aurelia-animator-css');

  //Anyone wanting to use HTMLImports to load views, will need to install the following plugin.
  //aurelia.use.plugin('aurelia-html-import-template-loader')

  aurelia.start().then(a => a.setRoot())
      .then(a => {
        //initialize framework
        $(document).foundation();
      });
}

这有效,但这是正确的方法吗?

1 个答案:

答案 0 :(得分:1)

优秀的Aureila手册记录了您组织应用程序配置和启动的各种方法。听起来你可能想要考虑创建一个"功能模块"。

创建一个名为" foundation"的文件夹。使用index.js文件:

export function configure(config) {
  $(document).foundation();      
}

然后,您可以从应用配置中启用您的功能:

export function configure(aurelia) {
  aurelia.use
    .standardConfiguration()
    .feature('foundation');

  aurelia.start().then(() => aurelia.setRoot());
}

App Configuration and Startup章节中的更多信息。