多站点

当使用 Retail React App 模板创建 PWA Kit 项目时,它默认配置为单个区域设置和单个站点。但是,它可以扩展为通过单个代码库运行多个站点。

站点配置 

config/sites.js 文件包含您在 Business Manager 中配置的站点的定义。以下示例显示 RefArchRefArchGlobal 站点的配置:

1// /config/sites.js
2
3module.exports = [
4  {
5    id: "RefArch",
6    l10n: {
7      supportedCurrencies: ["USD"],
8      defaultCurrency: "USD",
9      defaultLocale: "en-US",
10      supportedLocales: [
11        {
12          id: "en-US",
13          alias: "us",
14          preferredCurrency: "USD",
15        },
16        {
17          id: "en-CA",
18          preferredCurrency: "USD",
19        },
20      ],
21    },
22  },
23  {
24    id: "RefArchGlobal",
25    l10n: {
26      supportedCurrencies: ["GBP", "EUR", "JPY"],
27      defaultCurrency: "GBP",
28      supportedLocales: [
29        {
30          id: "de-DE",
31          alias: "de",
32          preferredCurrency: "EUR",
33        },
34        {
35          id: "en-GB",
36          preferredCurrency: "GBP",
37        },
38        {
39          id: "ja-JP",
40          preferredCurrency: "JPY",
41        },
42      ],
43      defaultLocale: "en-GB",
44    },
45  },
46];

默认站点和别名 

/config/default.js 文件中,您可以设置默认站点,并且可以选择将站点 ID 与别名匹配。如果没有为站点定义别名,则在 URL 中使用 ID。以下示例将默认站点设置为 RefArchGlobal,并为其定义三个别名。

1// /config/default.js
2
3defaultSite: 'RefArchGlobal',
4siteAliases: {
5    RefArch: 'us',
6    RefArchGlobal: 'global',
7    NTOManaged: 'nto'
8},

如果您在 /config/default.js 文件中将 url.showDefault 设置为 true,则默认区域设置和站点将显示在您的应用程序 URL 中。除了站点别名,您还可以在 sites.js 文件中为您的区域设置配置别名。如果您为区域设置配置了别名,则 URL 将显示别名而不是区域设置 ID。

应用程序 URL 使用规范的站点和区域设置 ID 构建,即使使用别名也仍然是有效的 URL。

Note

多域部署 

使用特定于环境的配置文件,您可以管理在 Business Manager 中定义的多个 B2C 站点,并使用多个 Managed Runtime 环境将它们部署在不同的域中。

例如,您的站点可以通过 customer.cacustomer.ukcustomer-a.comcustomer-b.ca 访问。您还可以进一步自定义 URL 模式。例如,您的 URL 可以被格式化为 customer-1.com/uscustomer-2.com/?locale=en_US

您可以使用不同的 Managed Runtime 环境部署捆绑包以与多个域一起使用,每个环境都为单独的域配置。配置映射是通过为每个 Managed Runtime 环境创建单独的配置文件来完成的。

例如,要部署 customer-1.comenv-customer-1 环境以及 customer-2.comenv-customer-2 环境,您需要创建以下文件来代替 config/default.js

  • config/env-customer-1.js
  • config/env-customer-2.js

有关特定于环境的配置的更多信息,请参阅配置文件指南。

另请参阅