#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
etc3. Я даже пытался перейти на 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,
Я думаю, что мне нужно что-то исправить в приложении, возможно, избавиться от некоторых обезглавленных библиотек и т. Д.