為何捐款
API 瀏覽器
升級指南
NEW!
quasar.config 檔案
將專案轉換為搭配 Vite 的 CLI
瀏覽器相容性
支援 TypeScript
目錄結構
命令列表
CSS 預處理器
路由
懶加載 - 代碼分割
處理資源
啟動檔案
預取功能
API 代理
處理 Vite
處理 process.env
使用 Pinia 進行狀態管理
使用 Vuex 進行狀態管理
Linter
測試 & 稽核
開發行動應用程式
Ajax 請求
對外公開開發伺服器
Quasar CLI with Vite - @quasar/app-vite
Vue SSR Directives

警告

本指南適用於 Quasar v2.6+

SSR 應用程式在伺服器和客戶端上執行相同的程式碼。.vue SFC 檔案中宣告 Vue 指令(或直接導入)通常足以使其在非 SSR 建置中運作。但在 SSR 建置中,由於 Vue 3 的架構,它需要一些額外的工作。

伺服器端建置要求所有 Vue 指令也在其定義中指定 getSSRProps() 方法。

提示

  • 不需要為了使 Quasar 提供的 Vue 指令運作而做任何事情。
  • 但是,如果您正在使用第三方提供的 Vue 指令,並且 CLI 在其上產生錯誤,那麼您將需要聯絡該套件的擁有者,以便他們使其符合 Vue 3 SSR 規範(即在指令的定義中新增 getSSRProps() 方法)。

如何宣告指令

以下摘自 Vue.js 文件

由於大多數自訂指令都涉及直接 DOM 操作,因此在 SSR 期間會被忽略。但是,如果您想指定自訂指令應如何呈現(即,它應將哪些屬性新增至呈現的元素),則可以使用 getSSRProps 指令鉤子

const myDirective = {
  mounted (el, binding) {
    // client-side implementation:
    // directly update the DOM
    el.id = binding.value
  },

  getSSRProps (binding) {
    // server-side implementation:
    // return the props to be rendered.
    // getSSRProps only receives the directive binding.
    return {
      id: binding.value
    }
  }
}