Игнорирование аргументов NG при последовательном запуске

#angular #npm #angular-cli #npm-scripts

#angular #npm #angular-cli #npm-скрипты

Вопрос:

У меня есть фиктивное многопроектное угловое рабочее пространство, созданное с использованием Angluar CLI, как описано здесьhttps://angular.io/guide/creating-libraries , только в моей рабочей области у меня есть и библиотека, и приложение, что означает, что я выполнил следующие команды:

 ng new my-workspace --create-application=false
cd my-workspace
ng generate library my-lib
ng generate application my-app
  

Я хотел создать скрипт npm в package json, который будет создавать производственные сборки как библиотеки, так и приложения, поэтому в package.json я добавил:

 "scripts":{
  // other scripts here
  "build-all-prod": "ng build my-lib --prod amp;amp; ng build my-app --prod"
}
  

однако я не получаю сборку prod библиотеки при выполнении npm run build-all-prod .

Если у меня есть только ng build my-lib --prod в приведенном выше сценарии, то я получаю prod-сборку библиотеки. Я также получаю исходную сборку библиотеки при переключении порядка ng build команд (иначе говоря. сначала ng создает приложение, а затем библиотеку). Похоже, что по какой-то причине --prod аргумент ранее игнорировался amp;amp; .

Чего мне не хватает?

Ответ №1:

Хорошо, проблема заключалась не в том, что --prod было проигнорировано, а в том факте, что при создании приложения также перестраивается библиотека, совместимая с Ivy (делает ее неработоспособной, поскольку библиотеки Ivy не должны публиковаться)

Для получения дополнительной информации см. Этот выпуск https://github.com/angular/angular/issues/38859