Приложение Ember использует аддон, установленный как транзитивная зависимость - PullRequest
0 голосов
/ 30 июня 2018

Может ли приложение Ember использовать аддон, установленный как транзитивная зависимость? У меня есть местное дополнение Ember, которое перечисляет ember-angle-bracket-invocation-polyfill как dependency в package.json. Когда я устанавливаю аддон в приложение Ember, используя ember install path/to/addon, я не могу использовать ember-angle-bracket-invocation-polyfill. Любая помощь приветствуется!

1 Ответ

0 голосов
/ 30 июня 2018

Аддон может добавлять зависимости как часть процесса установки. Обычно это делается в проекте по умолчанию . Проект по умолчанию - это проект, имя которого совпадает с именем аддона. Он автоматически запускается после установки аддона ember-cli. Это главная причина, по которой дополнения должны устанавливаться ember install <addon-name>, а не только путем добавления его в качестве зависимости с использованием npm или yarn.

Ember-cli предоставляет различных методов для добавления зависимости в зависимости от ее типа. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * То, почему вы должны использовать addAddonsToProject() Он ожидает объект, имеющий массив с именами дополнений под ключом packages.

Для вашего примера план будет выглядеть так:

// blueprints/your-addon-name/index.js
module.exports = {
  normalizeEntityName() {}, // no-op since we're just adding dependencies

  afterInstall() {
    // Add addons to package.json and run defaultBlueprint
    return this.addAddonsToProject({
      // a packages array defines the addons to install
      packages: [
        // name is the addon name, and target (optional) is the version
        {name: 'ember-angle-bracket-invocation-polyfill'}
      ]
    });
  }
};

Дополнительная информация Работа с зависимостями глава из ember-cli docs .

...