(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 的浏覽器應該也能正常工作。