#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