搭配 Vite 的 Quasar CLI - @quasar/app-vite
為什麼我會收到 hydration 錯誤?
請查看我們的 客戶端 Hydration 頁面。當您收到 hydration 錯誤時,表示伺服器端渲染的 HTML 與客戶端渲染的 HTML 不符。此錯誤僅在開發期間(而非在生產環境中)出現,並且在發布您的網站之前絕對需要解決。是否有某些內容只能在客戶端產生?那麼請使用 QNoSsr。
為什麼匯入 Platform 和 Cookies 無效?
在為 SSR 建置時,請僅使用 $q.platform
/ $q.cookies
形式。或者,當在伺服器端時,這是另一個如何使用它的範例
// example with Platform; same thing for Cookies
import { Platform } from 'quasar'
// you need access to `ssrContext`
function (ssrContext) {
const platform = process.env.SERVER
? Platform.parseSSR(ssrContext)
: Platform // otherwise we're on client
// platform is equivalent to the global import as in non-SSR builds
}
content_paste
`ssrContext` 在啟動檔案或預先提取功能中可用,它在那裡作為參數提供。
這樣做是有充分理由的。在僅限客戶端的應用程式中,每位使用者都將在其瀏覽器中使用應用程式的全新實例。對於伺服器端渲染,我們希望達到相同的效果。每個請求都應該有一個全新的、隔離的應用程式實例,以便不會發生跨請求的狀態污染。因此,Platform 和 Cookies 需要分別綁定到每個請求。
另一個好主意是閱讀編寫通用程式碼文件頁面。
為什麼 LocalStorage 和 SessionStorage 無效?
當在伺服器端執行程式碼時,儲存設施無法運作。Web Storage 僅為瀏覽器 API。