Модули PrimeNG (Angular) отсутствуют в рабочем режиме, но доступны в режиме разработки

#angular #typescript #primeng

#angular #typescript #primeng

Вопрос:

Я работал над приложением angular, которое использует PrimeNG в качестве компонента пользовательского интерфейса. Изначально я использовал Angular версии 9 с PrimeNG версии 8, и я мог выполнять свои развертывания без каких-либо проблем. Итак, несколько месяцев назад я обновил свою версию PrimeNG до версии 10.0.5-rc1, потому что там были некоторые новые функции, которые я хотел. Разработка прошла хорошо, но когда я пытаюсь создать свое приложение angular в рабочем режиме, каждый компонент, который использует какой-либо компонент PrimeNG, выдает ошибку. Еще одна вещь, которую я заметил, это то, что всякий раз, когда я пытаюсь получить доступ к компоненту из общего модуля, этот компонент не найден, потому что каким-то образом angular не может найти общий модуль в рабочем режиме. Вот пример типа ошибок.

     35   templateUrl: './reservation.component.html',
                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Error occurs in the template of component ReservationComponent.
src/app/modules/sales/modules/pos/menus/home/reservations/reservation/reservation.component.html:390:65 - error NG8002: Can't bind to 'showCloseIcon' since it isn't a known property of 'p-overlayPanel'.
1. If 'p-overlayPanel' is an Angular component and it has 'showCloseIcon' input, then verify that it is part of this module.
2. If 'p-overlayPanel' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message.
3. To allow any property add 'NO_ERRORS_SCHEMA' to the '@NgModule.schemas' of this component.

390 <p-overlayPanel #deletePaymentOverlayModal [dismissable]="true" [showCloseIcon]="true">

  src/app/modules/sales/modules/pos/menus/home/reservations/reservation/reservation.component.ts:35:16
    35   templateUrl: './reservation.component.html',
                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Error occurs in the template of component ReservationComponent.
src/app/modules/shared/pos/reservation-components/create-reservation/create-reservation.component.html:3:1 - error NG8001: 'app-create-edit-reservation' is not a known element:
1. If 'app-create-edit-reservation' is an Angular component, then verify that it is part of this module.
2. If 'app-create-edit-reservation' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message.

3 <app-create-edit-reservation></app-create-edit-reservation>

 

Я попытался обновить свою версию PrimeNG, и теперь она установлена на последней версии 11.0.0-rc1. Я также обновил свою версию angular и angular cli.

Как я могу это решить?

Комментарии:

1. Вы обновили версию своих приложений angular до версии 10?

2. он обновился до версии angular 9.1.12, когда я запустил ng update команду. Даже когда я запускал другие команды, такие как ng update @angular/cli ng update @angluar/core etc

3. Я даже пытался перейти на angular версии 10, затем на версию 20, но она по-прежнему не компилируется.

Ответ №1:

Я получил angular для сборки в рабочем режиме, изменив некоторые переменные в angular.json файле.

angular.json файл перед рефакторингом:

 "namedChunks": false,
"aot": true,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true,
 

angular.json файл после рефакторинга:

 "namedChunks": false,
"aot": false,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": false,
 

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