Angular升级至15.x后Alfresco ADF依赖组件缺失报错求助
Angular 5升级到15后Alfresco ADF核心依赖组件导出缺失问题解决
问题根源
你当前使用的@alfresco/adf-core@5.1.0是为Angular 7/8版本开发的,与Angular 15完全不兼容。报错里的组件缺失问题,本质是Angular Material在大版本迭代中对组件做了移除、重命名:
MatChipList被重命名为MatChipSetMatListIconCssMatStyler、MatListAvatarCssMatStyler这类内部样式控制类在Angular Material 10+版本后被移除,替换为新的组件API
解决方案
1. 升级Alfresco ADF到兼容Angular 15的版本
ADF版本与Angular版本有严格对应关系,Angular 15需要搭配ADF 7.x系列版本。修改package.json中的依赖:
"@alfresco/adf-core": "^7.0.0", "@alfresco/adf-extensions": "^7.0.0", "@alfresco/js-api": "^7.0.0"
同时移除过时的@angular/http依赖(Angular 15已不再支持,改用@angular/common/http)。
2. 调整自定义代码中的Angular Material引用
如果你的项目代码直接依赖了旧组件:
- 将所有
MatChipList替换为MatChipSet,模板中的选择器从mat-chip-list改为mat-chip-set - 移除对
MatListIconCssMatStyler、MatListAvatarCssMatStyler的引用,改用Angular Material 15的mat-list-item-icon、mat-list-item-avatar组件实现样式控制
3. 执行依赖更新与项目迁移
- 运行
npm install更新依赖包 - 执行Angular官方迁移工具处理自动兼容问题:
ng update @angular/core @angular/material - 参考ADF官方迁移文档,手动调整新版本中API发生变更的ADF组件(比如输入输出属性、组件结构的变化)
注意事项
- 升级时需保证所有ADF相关包(core、extensions、js-api)版本一致,避免版本冲突
- 升级完成后全面测试依赖ADF的功能模块,确保样式、交互逻辑正常
内容的提问来源于stack exchange,提问作者user327126
相关产品推荐
相关产品推荐

