Сборка ng --aot завершается неудачно, но сборка ng работает нормально с установленной библиотекой - PullRequest
0 голосов
/ 22 января 2020

У нас есть проект библиотеки, который живет в проекте nx, который мы публикуем с sh до npmjs. Это коллекция компонентов, полученных из @ angular / material. Библиотека публикуется в npmjs @ vdlx / vdl- angular.

Наша сборка использует ng-packagr для последовательной сборки каждого из компонентов на основе их зависимостей.

При установке из npm в чистый проект angular -cli или nx команда ng build работает нормально, но ng build --aot завершается неудачно с ошибками.

В рамках проекта библиотеки nx создаются приложения с aot работает нормально, скорее всего потому, что он получает компоненты из источника (против node_modules или папки project / dist).

ERROR in ./src/app/app.module.ngfactory.js
Module not found: Error: Can't resolve 'badge' in '/Users/dale.manthei/Downloads/angular-hrvy5y/src/app'

Вот простое воссоздание проблемы: https://stackblitz.com/edit/angular-hrvy5y?file=src%2Fapp%2Fapp.module.ts .

Работает в стеке, наверняка. Локальная установка проекта и запуск ng build --aot завершаются неудачей.

Я подозреваю, что в нашей библиотеке чего-то не хватает, и ожидается, что проект angular -cli будет там. До сих пор я пытался работать с потребляющим приложением, но без радости.

Предложения приветствуются.

1 Ответ

0 голосов
/ 24 января 2020

Оказывается, проблема кроется в опубликованной библиотеке. Когда я отправил вопрос, я не мог сказать, была ли проблема с потребляющим приложением или библиотекой компонентов. Оказывается, это было последнее.

Чтобы отследить его, мы вручную сгенерировали ngfactory файлы, чтобы найти, где имя было простым badge.

Используя это, я смог go вернуться к конфигурации компонента ng-packagr в проекте библиотеки nx. Изменение имени в пакете компонентов. json для включения пространства имен npmj, а также пространства имен библиотеки делает свое дело.

Теперь мы создаем библиотеку компонентов с использованием ng-packagr, куда импортируются компоненты. другие компоненты очень похожи на эту проблему в https://github.com/nrwl/nx/issues/602.

...