You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular升级至15.x后Alfresco ADF依赖组件缺失报错求助

Angular 5升级到15后Alfresco ADF核心依赖组件导出缺失问题解决

问题根源

你当前使用的@alfresco/adf-core@5.1.0是为Angular 7/8版本开发的,与Angular 15完全不兼容。报错里的组件缺失问题,本质是Angular Material在大版本迭代中对组件做了移除、重命名:

  • MatChipList 被重命名为 MatChipSet
  • MatListIconCssMatStyler、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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 03:45:01