SAP 電商雲的 Spartacus Storefront 如何配置多個 JavaScript Application
阿新 • • 發佈:2022-04-03
本文介紹如何配置多個 endpoint
以使用多個 JavaScript 店面。
具體步驟
將所有端點配置為指向 JS Storefront 服務。
- www.brand1.com → Javascript 店面
- www.brand2.com → Javascript 店面
在 JavaScript service properties
中配置 endpoint
到店面的對映。
在雲門戶中,選擇 environment
,然後選擇 service configuration
檢視配置 JavaScript 店面。
按以下格式新增您的屬性:
jsapps.<application>.severname.<index>=<server name>
例如:
jsapps.app1.servername.1=www.brand1.de
jsapps.app2.servername.0=www.brand2.com
jsapps.app2.servername.1=www.brand2.de
如果不提供任何配置,預設情況下,對伺服器名稱 <application.name.*>
的請求將路由到該特定應用程式。
例如,app1 和 app2 應用的對映方式如下:
- 伺服器名稱 app1.* 的請求被路由到 app1 應用程式,
- 伺服器名稱 app2.* 的請求被路由到 app2 應用程式。
<server name>
<server_name>
指令的正確正則表示式。有關詳細資訊,請參閱 http://nginx.org/en/docs/http/server_names.html 非 SAP 站點上釋出的資訊。
在 CCV2 上啟用 Spartacus SSR ( Server Side Rendering,伺服器端渲染) 的配置方法,在檔案 js-storefront/manifest.json
內新增下列設定:
{ "applications": [ { "name": "<your storefrontapp name>", "path": "<your storefrontapp path>", "ssr": { "enabled": true, "path": "dist/<your storefrontapp name>/<your storefrontapp name>-server/main.js" } } ] }
使用客戶端呈現 (CSR),網站在瀏覽器中呈現,而不是在伺服器端。 因此,Web 伺服器通過傳送包含 JavaScript 程式碼的輕量級 HTML 響應來響應連線請求。 瀏覽器通過在客戶端呈現程式碼並將其呈現在網頁上來建立內容。
因此,需要在上述的 manifest.json 檔案裡新增下列設定:
{
"applications": [
{
"name": "<your storefrontapp name>",
"path": "<your storefrontapp path>",
"csr": {
"webroot": "dist/<your storefrontapp name>/browser/"
}
}
]
}
csr.webroot
的欄位值應該和 angular.json 檔案中 projects.<application_name>.architect.build.options.outputPath
的值一致。
配置完成後,所有定義在 webroot
欄位中的檔案會被部署。
在 manifest.json 裡還能為某一具體的 Application,指定 Node.js 版本:
{
"applications": [
{
"name": "cxlive",
"path": "cxlive"
},
{
"name": "app1",
"path": "app1"
},
{
"name": "app2",
"path": "app2",
"nodeVersion": "11"
}
],
}