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

升级Angular 18后SAP Composable Storefront出现依赖注入错误

解决方案:NullInjectorError: No provider for InjectionToken PROPAGATE_ERROR_RESPONSE!

问题原因

你自定义的PROPAGATE_ERROR_RESPONSE InjectionToken与SAP Spartacus内部使用的并非同一个引用,Angular依赖注入系统会将二者视为不同token,因此无法被Spartacus的_PropagatingToServerErrorHandler正确识别和注入。

修复步骤

1. 导入Spartacus原生Token

不要自行定义该Token,直接从Spartacus官方包中导入:

import { PROPAGATE_ERROR_RESPONSE } from '@spartacus/setup-ssr';

2. 在模块中正确提供依赖

在AppModule(或SSR专用的ServerModule)的providers数组中添加该Token的提供者:

@NgModule({
  // ...其他模块配置
  providers: [
    // ...其他已配置的提供者
    { provide: PROPAGATE_ERROR_RESPONSE, useValue: true }
  ]
})
export class AppModule {}

3. 额外检查:版本兼容性

Angular 18属于较新版本,需确认你使用的SAP Composable Storefront 2211.32.1是否正式支持Angular 18。若存在版本不兼容问题,可选择:

  • 升级Spartacus到支持Angular 18的版本
  • 临时降级Angular到Spartacus 2211.x适配的版本(通常为Angular 16/17)

验证

完成配置后,重新执行ng serve,访问http://localhost:4200/us/en,检查错误是否消失。

内容的提问来源于stack exchange,提问作者Nitesh Patel

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 11:27:17