Ember.js 如何访问作为ES6模块的bower软件包?

Ember.js 如何访问作为ES6模块的bower软件包?,ember.js,bower,ecmascript-6,ember-app-kit,Ember.js,Bower,Ecmascript 6,Ember App Kit,我正在尝试迁移一个余烬应用程序以使用。代码需要accounting.js库。在pre-app kit版本中,通过index.html <script src="http://cdnjs.cloudflare.com/ajax/libs/accounting.js/0.3.2/accounting.min.js"></script> 在app kit版本中,我将accounting.js作为bower依赖项。在bower.json中: { "name": "ember

我正在尝试迁移一个余烬应用程序以使用。代码需要accounting.js库。在pre-app kit版本中,通过
index.html

<script src="http://cdnjs.cloudflare.com/ajax/libs/accounting.js/0.3.2/accounting.min.js"></script>
在app kit版本中,我将
accounting.js
作为bower依赖项。在
bower.json
中:

{
  "name": "ember-app-kit",
  "dependencies": {
    "handlebars": "~1.1.2",
    "jquery": "~1.9.1",
    "qunit": "~1.12.0",
    "ember": "~1.4.0-beta.2",
    "ember-data": "~1.0.0-beta.6",
    "ember-resolver": "git://github.com/stefanpenner/ember-jj-abrams-resolver.git#master",
    "ic-ajax": "~0.3.0",
    "ember-testing-httpRespond": "~0.1.1",
    "accounting":"~0.3.2"
  },
  "resolutions": {
    "ember": "~1.4.0-beta.2"
  }
 }
当我尝试构建应用程序时,它会给出错误消息

W117: 'accounting' is not defined.
我明白这是为什么,并且知道我需要某种
从…
报表导入会计


如何将通过bower安装的软件包作为ES6模块导入?

我知道几个月前就有人问过这一问题,但从那时起,Ember App Kit就成功了,这为访问bower或npm依赖项提供了一种非常直接的方法

关于作为ES6模块访问:

  • 非AMD资产不能作为ES6模块访问,您只需通过它们导出的全局变量访问它们。
    • e、 g.
      力矩
  • 另一方面,AMD资产可以通过ES6
    import
    语法访问
    • e、 g.
      从'icajax'导入{raw as icAjaxRaw}


还值得一提的是,ember cli现在支持一个附加系统,它可以使导入这些东西变得像将它们添加到项目的
package.json
中一样简单。一些比较流行的库已经为它们提供了ember cli插件。描述如何编写自己的。

我猜
从“/vendor/accounting/accounting”导入会计。但是,我尝试了它并得到了以下错误:
Uncaught错误:找不到模块/供应商/会计/会计源:'http://localhost:8000/vendor/loader.js:21“
。对于requirejs,我会在配置文件中添加一个垫片,遗憾的是,我不知道如何使用EAK。显然在不久的将来会有一些事情发生:ember cli
能够制作垫片。我为此功能创建了一个问题:谢谢@WillemdeWit。这听起来像是我试图做的是目前不可能的,但希望很快会。这两个链接不再存在。
W117: 'accounting' is not defined.