動態

詳情 返回 返回

SAP Spartacus develop branch 的服務器端渲染啓動方式 - 動態 詳情

(1) yarn build:libs

這個命令行是完成本地 library 的構建。需要將近10分鐘。

(2) 這個命令是完成 shell app 的構建。

yarn build --prod

命令行裏出現的 40.76 來自 .env-cmdrc 文件:

需要將近3分鐘。

(3) 使用如下命令進行服務器端 shell 應用的構建:

yarn build:ssr

需要將近1分鐘。
(4) 以服務器端模式啓動 Spartacus 服務器:

yarn serve:ssr

如果看到下面的提示消息,説明啓動成功了:

如果 Node.js 服務器後台觀察到這種消息:SSR rendering exceeded timeout 3000, 説明默認的 3000 毫秒時間不足以完成首頁的服務器段渲染:

此時修改 ng-express-engine-decorator.ts 裏 tineout,然後重新執行 yarn:build:setup, yarn build --prod 和 yarn build:ssr.

改成一個特殊的值比如 19821039, 方便將來查找。

最後在 dist 文件夾的 main.js 裏面能夠搜索到這個特殊值。

怎麼還是 3000?

發現了process.env 裏的這個環境變量 SSR_TIMEOUT:

那麼我就新建一個 ssr.bat 的批處理文件,內容如下:

set SSR_TIMEOUT=1981231&& yarn serve:ssr

結果又遇到新問題:Http failure response for https://xxxxx

An unknown http error occurred:

所以 bat 文件的內容應該改成:

set SSR_TIMEOUT=1981231&& yarn serve:ssr:dev

這樣,可以使用參數 cross-env NODE_TLS_REJECT_UNAUTHORIZED=0 啓動 node.js 服務器,繞過 certificate 問題。

然而又遇到新問題:cannot find module ./353.js??

這種情況下,從頭開始對整個 Spartacus 進行構建,然後重試。

果然,全部從頭做之後就正常了:

213kb,這個數據量才是正常的:

Spartacus 支持移動和平板電腦平台上的常青網絡瀏覽器。

iOS 瀏覽器

在基於 iOS 的設備上,Spartacus 支持 Safari、Chrome 和其他瀏覽器。 儘管不是每個瀏覽器都經過測試,但 Spartacus 應該可以與任何 iOS 瀏覽器兼容,因為所有 iOS 瀏覽器都使用基於 Webkit 的 iOS 瀏覽器引擎。

安卓瀏覽器

在基於 Android 的設備上,Spartacus 在基於 Chromium 和 Blink 佈局引擎的 Chrome 上進行了測試。 任何使用相同引擎的 Android 瀏覽器都可能與 Spartacus 一起使用。 其他使用不同瀏覽器引擎的瀏覽器沒有經過測試,但那些使用 Webkit 的瀏覽器應該也能正常工作。

更多Jerry的原創文章,盡在:"汪子熙":

user avatar journey_64224c9377fd5 頭像 solvep 頭像 yian 頭像 jianghushinian 頭像 snower 頭像 zlibrarynew 頭像 tuihou123321 頭像 rife 頭像 wxp686 頭像 skysailstar 頭像
點贊 10 用戶, 點贊了這篇動態!
點贊

Add a new 評論

Some HTML is okay.