我正在尝试迁移一个成员应用程序来使用ember app-kit。代码需要accounting.js库。在预app-kit版本中,文件是通过index.html中的脚本标记加载的。
<script src="http://cdnjs.cloudflare.com/ajax/libs/accounting.js/0.3.2/accounting.min.js"></script>并通过全局命名空间在视图中访问。
App.MoneyField= Em.TextField.extend({
init: function() {
this._super();
var value = accounting.formatMoney(this.get("money") / 100, '');
this.set('value', value);
};
// other functions omitted
});在app版本中,我已经将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.我理解这是为什么,并知道我需要某种import accounting from ...语句。
如何导入通过bower作为ES6模块安装的包?
发布于 2014-07-06 23:51:45
我知道这是几个月前提出的,但从那以后,Ember已经被烬-cli所继承,这提供了一种非常直接的方式来访问bower或npm依赖项。
关于作为ES6模块访问的问题:
moment
import语法访问。import { raw as icAjaxRaw } from 'ic-ajax';
值得一提的是,成员-cli现在支持一个附加系统,这可以使导入这些东西像将它们添加到您的项目的package.json一样简单。一些比较受欢迎的图书馆已经为他们提供了成员-cli插件。这个职位描述了如何编写自己的代码。
https://stackoverflow.com/questions/21439989
复制相似问题