启动 Spartacus 后,第一个调用的 API 是 BaseSite API。BaseSite API 是 SAP Commerce Cloud 中非常重要的一个 API,它主要的作用包括:
-
获取网站基本信息:BaseSite API 用于从 SAP Commerce Cloud 中获取网站的基本信息,如网站的名称、ID、默认语言、默认货币、时间区等。这些信息对于 Spartacus 应用程序的运行至关重要。
-
配置商店:BaseSite API 还可以用于配置商店的信息,如商店的地址、电话号码、营业时间等。这些信息将在 Spartacus 应用程序中展示,为用户提供方便。
-
管理网站的 URL 结构:BaseSite API 还可以用于管理网站的 URL 结构,如 URL 的前缀、后缀、别名等。这些 URL 结构信息可以帮助 Spartacus 应用程序正确地解析和生成 URL。
-
设置主题和样式:通过 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 无关: