SAP Spartacus develop branch 的服务器端渲染启动方式
(1) yarn build:libs
這個(gè)命令行是完成本地 library 的構(gòu)建。需要將近10分鐘。
(2) 這個(gè)命令是完成 shell app 的構(gòu)建。
yarn build --prod
命令行里出現(xiàn)的 40.76 來自 .env-cmdrc 文件:
需要將近3分鐘。
(3) 使用如下命令進(jìn)行服務(wù)器端 shell 應(yīng)用的構(gòu)建:
yarn build:ssr
需要將近1分鐘。
(4) 以服務(wù)器端模式啟動(dòng) Spartacus 服務(wù)器:
yarn serve:ssr
如果看到下面的提示消息,說明啟動(dòng)成功了:
如果 Node.js 服務(wù)器后臺(tái)觀察到這種消息:SSR rendering exceeded timeout 3000, 說明默認(rèn)的 3000 毫秒時(shí)間不足以完成首頁的服務(wù)器段渲染:
此時(shí)修改 ng-express-engine-decorator.ts 里 tineout,然后重新執(zhí)行 yarn:build:setup, yarn build --prod 和 yarn build:ssr.
改成一個(gè)特殊的值比如 19821039, 方便將來查找。
最后在 dist 文件夾的 main.js 里面能夠搜索到這個(gè)特殊值。
怎么還是 3000?
發(fā)現(xiàn)了process.env 里的這個(gè)環(huán)境變量 SSR_TIMEOUT:
那么我就新建一個(gè) ssr.bat 的批處理文件,內(nèi)容如下:
set SSR_TIMEOUT=1981231&& yarn serve:ssr
結(jié)果又遇到新問題:Http failure response for https://xxxxx
An unknown http error occurred:
所以 bat 文件的內(nèi)容應(yīng)該改成:
set SSR_TIMEOUT=1981231&& yarn serve:ssr:dev
這樣,可以使用參數(shù) cross-env NODE_TLS_REJECT_UNAUTHORIZED=0 啟動(dòng) node.js 服務(wù)器,繞過 certificate 問題。
然而又遇到新問題:cannot find module ./353.js??
這種情況下,從頭開始對(duì)整個(gè) Spartacus 進(jìn)行構(gòu)建,然后重試。
果然,全部從頭做之后就正常了:
213kb,這個(gè)數(shù)據(jù)量才是正常的:
Spartacus 支持移動(dòng)和平板電腦平臺(tái)上的常青網(wǎng)絡(luò)瀏覽器。
iOS 瀏覽器
在基于 iOS 的設(shè)備上,Spartacus 支持 Safari、Chrome 和其他瀏覽器。 盡管不是每個(gè)瀏覽器都經(jīng)過測(cè)試,但 Spartacus 應(yīng)該可以與任何 iOS 瀏覽器兼容,因?yàn)樗?iOS 瀏覽器都使用基于 Webkit 的 iOS 瀏覽器引擎。
安卓瀏覽器
在基于 Android 的設(shè)備上,Spartacus 在基于 Chromium 和 Blink 布局引擎的 Chrome 上進(jìn)行了測(cè)試。 任何使用相同引擎的 Android 瀏覽器都可能與 Spartacus 一起使用。 其他使用不同瀏覽器引擎的瀏覽器沒有經(jīng)過測(cè)試,但那些使用 Webkit 的瀏覽器應(yīng)該也能正常工作。
更多Jerry的原創(chuàng)文章,盡在:“汪子熙”:
總結(jié)
以上是生活随笔為你收集整理的SAP Spartacus develop branch 的服务器端渲染启动方式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 淘宝JAVA中间件Diamond详解(一
- 下一篇: Mobile first 设计思路在 S