Ember addPackageToProject или addBowerPackageToProject - PullRequest
0 голосов
/ 13 ноября 2018

В приложении Ember я хотел понять, как именно работает addPackageToProject или addBowerPackageToProject?

e.g. this.addPackageToProject('moment')

Я понимаю, что это обновит package.json или bower.json приложения host / parent, добавив в качестве зависимости 'moment'. Но после этого он также запускает команды npm install или bower install?

1 Ответ

0 голосов
/ 13 ноября 2018

Да, команда установки запускается автоматически, если вы используете ember install <addon-name>. В общем, самый простой способ выяснить ответ на вопрос, подобный вашему, - это просто посмотреть исходный код на github.

Осматривая ember install <addon-name>, мы видим, что по существу равняется:

npm install <addon-name> --save-dev
ember generate <addon-name>

generate <addon-name> собирается запустить план аддона, который содержит addPackageToProject, который в конечном итоге вызывает:

addPackagesToProject(packages) {
    let task = this.taskFor('npm-install');
    ...//builds packageArray
    return task.run({
      'save-dev': true,
      verbose: false,
      packages: packageArray,
    });
}

npm-install запустит команду установки (но фактически сначала определяет, используете ли вы yarn или npm). Поэтому, если вы используете npm, вы получите команду, похожую на npm install --save-dev

...