Quasar CLI with Vite - @quasar/app-vite
警告
本指南适用于 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
}
}
}
content_paste