Spartacus 6.0 baseSites API 的准确触发位置

发布时间 2023-11-25 21:28:34作者: JerryWang_汪子熙

启动 Spartacus 后,第一个调用的 API 是 BaseSite API。BaseSite API 是 SAP Commerce Cloud 中非常重要的一个 API,它主要的作用包括:

  1. 获取网站基本信息:BaseSite API 用于从 SAP Commerce Cloud 中获取网站的基本信息,如网站的名称、ID、默认语言、默认货币、时间区等。这些信息对于 Spartacus 应用程序的运行至关重要。

  2. 配置商店:BaseSite API 还可以用于配置商店的信息,如商店的地址、电话号码、营业时间等。这些信息将在 Spartacus 应用程序中展示,为用户提供方便。

  3. 管理网站的 URL 结构:BaseSite API 还可以用于管理网站的 URL 结构,如 URL 的前缀、后缀、别名等。这些 URL 结构信息可以帮助 Spartacus 应用程序正确地解析和生成 URL。

  4. 设置主题和样式:通过 BaseSite API,可以设置 Spartacus 应用程序的主题和样式。这包括颜色方案、字体、布局等。这些设置可以帮助 Spartacus 应用程序提供一致的用户体验。

在 Spartacus 启动后,第一个调用的 BaseSite API 通常会返回一个包含了所有这些信息的 JSON 对象。Spartacus 应用程序会解析这个 JSON 对象,然后根据其中的信息进行初始化和配置。

因此,我们可以看到,BaseSite API 在 Spartacus 应用程序中扮演了非常重要的角色。它不仅提供了 Spartacus 应用程序运行所需要的基本信息,还提供了管理网站和配置商店的功能。而且,由于 Spartacus 应用程序是在浏览器中运行的,所以 BaseSite API 必须通过 HTTP 协议进行通信,这就使得 BaseSite API 成为了 Spartacus 应用程序和 SAP Commerce Cloud 之间的重要接口。

总的来说,BaseSite API 是 Spartacus 启动后必须首先调用的 API,它的主要作用是获取和设置网站的基本信息。这些信息对于 Spartacus 应用程序的运行至关重要。因此,对 BaseSite API 的理解和掌握对于 Spartacus 开发者来说是非常重要的。

截图为证:

位置:projects/core/src/routing/configurable-routes/

再看 5.0 的:

secure-portal-config-initializer.ts

没有这个类:

但是 5.2.x 又有了这个类:

看下 5.2.x 为什么没有被调用。

6.3.x 的 initializer 被调用了。

而 5.2.x 的没有 initializer:

三个数组全是 null

这个输入参数数组在 module 里传入,而不是注入:

会不会和这个 useFactory 有关?

这个 site context 应该和 ticket 无关: