Как исправить продакшн сборку с усилителем-аутентификатором в проекте Angular 9? - PullRequest
0 голосов
/ 12 июля 2020

У меня есть проект, использующий Angular 9, который имеет элемент <amplify-authenticator> и импортировал AmplifyUIAngularModule из @aws-amplify/ui-angular в одном модуле проекта. Он отлично работает в сборке для разработчиков, но когда я пытаюсь создать производственную сборку, он терпит неудачу:

ERROR in src/app/signin/signin.page.html:13:5 - error NG8001: 'amplify-authenticator' is not a known element:
1. If 'amplify-authenticator' is an Angular component, then verify that it is part of this module.
2. If 'amplify-authenticator' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message.

13     <amplify-authenticator [handleAuthStateChange]="handleAuthStateChange">
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  src/app/signin/signin.page.ts:7:18
    7     templateUrl: 'signin.page.html',
                       ~~~~~~~~~~~~~~~~~~
    Error occurs in the template of component SigninPage.

Я использую новые компоненты пользовательского интерфейса Amplify для Angular, так что, насколько я могу судить, импортировать больше нечего. Есть идеи, что может пойти не так?

Ответы [ 2 ]

0 голосов
/ 12 июля 2020

Оказалось, что я забыл вставить саму SigninPage в модуль. Добавление его в declarations устранило проблему. Понятия не имею, как приложение могло работать с JIT-компилятором ... ?‍♂️

0 голосов
/ 12 июля 2020

Пожалуйста, импортируйте AmplifyUIAngularModule в тот же NgModule, в котором объявлен SignPageComponent.

Компилятор AOT (Ahead of Time) разрешает NgModules в последовательном порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...