首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何以ES6模块的形式访问保龄球包?

如何以ES6模块的形式访问保龄球包?
EN

Stack Overflow用户
提问于 2014-01-29 18:52:07
回答 1查看 2.9K关注 0票数 10

我正在尝试迁移一个成员应用程序来使用ember app-kit。代码需要accounting.js库。在预app-kit版本中,文件是通过index.html中的脚本标记加载的。

代码语言:javascript
复制
<script src="http://cdnjs.cloudflare.com/ajax/libs/accounting.js/0.3.2/accounting.min.js"></script>

并通过全局命名空间在视图中访问。

代码语言:javascript
复制
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

代码语言:javascript
复制
{
  "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"
  }
 }

当我试图构建这个应用程序时,它会给出错误。

代码语言:javascript
复制
W117: 'accounting' is not defined.

我理解这是为什么,并知道我需要某种import accounting from ...语句。

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

EN

回答 1

Stack Overflow用户

发布于 2014-07-06 23:51:45

我知道这是几个月前提出的,但从那以后,Ember已经被烬-cli所继承,这提供了一种非常直接的方式来访问bower或npm依赖项。

  • 非AMD资产
  • AMD资产

关于作为ES6模块访问的问题:

  • 非AMD资产不能作为ES6模块访问,您只需通过它们导出的全局变量访问它们。
    • 例如moment

  • 另一方面,AMD资产可以通过ES6 import语法访问。
    • 例如import { raw as icAjaxRaw } from 'ic-ajax';

值得一提的是,成员-cli现在支持一个附加系统,这可以使导入这些东西像将它们添加到您的项目的package.json一样简单。一些比较受欢迎的图书馆已经为他们提供了成员-cli插件。这个职位描述了如何编写自己的代码。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21439989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档