天天看點

SAP Spartacus 伺服器端渲染檔案的 build 過程

SAP Spartacus 根目錄下有個 server.ts 檔案。整個檔案的入口是 run 函數:

SAP Spartacus 伺服器端渲染檔案的 build 過程

run 函數裡,開啟一個 伺服器,監聽在 4000 端口上:

SAP Spartacus 伺服器端渲染檔案的 build 過程

伺服器執行個體通過 app 函數傳回:

SAP Spartacus 伺服器端渲染檔案的 build 過程

首先利用一個NgExpressEngineDecorator 獲得 NgUniversal engine 執行個體,然後将該 engine 同 express 傳回的 server 執行個體進行綁定:

SAP Spartacus 伺服器端渲染檔案的 build 過程

所有的靜态檔案,通過 browser 檔案夾裡的檔案傳回:

SAP Spartacus 伺服器端渲染檔案的 build 過程

所有的正常路由,使用 Universal Engine 響應。

該 server.ts 檔案的引用,定義在 tsconfig.server.json 裡:

SAP Spartacus 伺服器端渲染檔案的 build 過程

另一個 src/main.server.ts 檔案:

SAP Spartacus 伺服器端渲染檔案的 build 過程

而這個 tsconfig.server.json 檔案什麼時候被使用呢?

tsconfig.server.json 擴充 tsconfig.app.json,而後者又擴充 tsconfig.json:

SAP Spartacus 伺服器端渲染檔案的 build 過程
SAP Spartacus 伺服器端渲染檔案的 build 過程
SAP Spartacus 伺服器端渲染檔案的 build 過程

繼續閱讀