Как я могу получить доступ к пакету bower как модуль ES6?

Я пытаюсь перенести приложение ember, чтобы использовать ember app-kit. Для этого кода требуется библиотека accounting.js. В версии с предварительным приложением файл загрузился с помощью тега script в 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.

Я понимаю, почему это так и знаю, мне нужен какой-то оператор import accounting from ....

Как импортировать пакет, установленный через bower в качестве модуля ES6?

Ответ 1

Я знаю, что это было задано несколько месяцев назад, но с тех пор Ember App Kit сменил ember-cli, и это обеспечивает очень прямое средство для доступа к зависимостям между башмаком или npm.

Что касается доступа к модулям ES6:

  • Абоненты без AMD не могут быть доступны как модуль ES6, вы просто получаете к ним доступ через глобальную переменную, которую они экспортируют.
    • например. moment
  • Активы AMD, с другой стороны, могут быть доступны через синтаксис ES6 import
    • например. import { raw as icAjaxRaw } from 'ic-ajax';

Стоит также упомянуть, что ember-cli теперь поддерживает надстройку, которая может импортировать эти вещи так же просто, как добавить их в package.json вашего проекта. Некоторые из более популярных библиотек уже имеют дополнения ember-cli для них. Этот пост описывает, как вы можете написать свой собственный.