ember.js – 如何访问作为ES6模块的凉亭包?

前端之家收集整理的这篇文章主要介绍了ember.js – 如何访问作为ES6模块的凉亭包?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试迁移一个ember应用程序以使用 ember app-kit.该代码需要accounting.js库.在应用程序前版本中,该文件是通过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-kit版本中,我将accounting.js作为一个依赖关系.在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已经被 ember-cli接管,这提供了一个非常直接的方法来访问bower或npm依赖关系.

> Non-AMD asset
> AMD asset

关于作为ES6模块访问:

>非AMD资产无法作为ES6模块访问,您只需通过导出的全局变量访问它们.

>例如时刻

另一方面,AMD资产可以通过ES6导入语法进行访问

>例如从“ic-ajax”导入{raw as icAjaxRaw};

值得一提的是,ember-cli现在支持一个附加系统,可以将这些东西简单地导入到将其添加到项目的package.json中.一些更受欢迎的图书馆已经有了ember-cli插件. This post描述了如何编写自己的.

猜你在找的JavaScript相关文章