當部署為 SPA 或 PWA 時,由 Quasar CLI 產生的 distributables 資料夾可以由靜態網站伺服器提供服務。然而,SSR (伺服器端渲染) 建置情況並非如此。在這種情況下,您的 distributables 也包含您的生產網站伺服器 – 可以從 /src-ssr
進行調整。
預設情況下,SSR distributables 使用 Express,但您可以將其替換為您選擇的網站伺服器。
無伺服器
如果您要部署到無伺服器服務,請閱讀關於 SSR Webserver 的內容,以了解如何為其做準備。
Distributables 資料夾
在 SSR 模式下建置您的應用程式後 ($ quasar build -m ssr
),產生的資料夾包含一個經過調整的獨立網站伺服器,用於提供 SSR 服務。
您會注意到它包含自己的 package.json
檔案。它定義了一個 npm 指令碼,稱為 “start”。
"scripts": {
"start": "node index.js"
}
因此,部署時您需要做的是將此 distributables 資料夾複製到您的伺服器上,使用 yarn/npm 安裝其中的依賴項,然後執行 $ yarn start
。這會啟動網站伺服器並開始監聽連線。
提示
在建置您的應用程式後產生的 distributables 資料夾是獨立的。它不需要專案資料夾的其餘部分即可運作,並且不依賴於 @quasar/cli
的安裝。
提升效能
預設情況下,網站伺服器僅在可用的伺服器核心之一上運行。您可以做的是使其使用所有核心。有一個解決方案:PM2。
在您的伺服器上安裝 PM2 後,您的 npm start 指令碼可以改為如下所示
"scripts": {
"start": "pm2 start index.js"
}
使用 Cleavr 部署
您可以使用 Cleavr 將 Quasar SSR 應用程式部署到幾個流行的 VPS 提供商。Cleavr 將自動為您的應用程式設定啟用叢集模式的 PM2。
在 Cleavr 中新增一個 NodeJS SSR 網站,然後使用以下設定配置網路應用程式設定
- 進入點: index.js
- 建置命令: npx quasar build --mode ssr
- Artifact 路徑: dist/ssr