PrimeNG错误ConfirmationService尚未被ngcc正确处理,或与Angular Ivy不兼容

jsm*_*min 2 primeng angular

我根据以下配置使用 PrimeNG 11 和角度 11:

  "dependencies": {
"@angular/animations": "^11.2.2",
"@angular/cdk": "^11.2.1",
"@angular/common": "^11.2.2",
"@angular/compiler": "^11.2.2",
"@angular/core": "^11.2.2",
"@angular/forms": "^11.2.2",
"@angular/platform-browser": "^11.2.2",
"@angular/platform-browser-dynamic": "^11.2.2",
"@angular/router": "^11.2.2",
"@auth0/angular-jwt": "^5.0.2",
"bootstrap": "^5.0.0-beta2",
"primeicons": "^4.1.0",
"primeng": "^11.2.3",
"rxjs": "~6.6.0",
"tslib": "^2.0.0",
"typescript-map": "^0.1.0",
"zone.js": "^0.10.3"  }
Run Code Online (Sandbox Code Playgroud)

导入模块和服务以使用确认对话框组件后,我们收到错误

This likely means that the library (primeng/api) which declares ConfirmationService has not been processed correctly by ngcc, or is not compatible with Angular Ivy. Check if a newer version of the library is a
Run Code Online (Sandbox Code Playgroud)

可用,如果有则更新。还可以考虑与库的作者联系,看看该库是否与 Ivy 兼容。

进口线路

import {ConfirmDialogModule} from 'primeng/confirmdialog'; import {ConfirmationService} from 'primeng/api';
Run Code Online (Sandbox Code Playgroud)

我试过

  1. 删除节点模块并运行 npm update
  2. 将此行添加到 package.json 中的脚本 ["postinstall": "ngcc --properties es2015 browser module main --first-only --create-ivy-entry-points"]

这些都不适合我。

有人可以帮忙吗?

jsm*_*min 9

我发现我正在导入ConfirmationService而不是将其添加到providers. 将其添加到提供程序后,它工作得很好。该错误消息完全具有误导性。