Quasar CLI with Webpack - @quasar/app-webpack
警告
本指南适用于 Quasar v2.6+ 和 @quasar/app-webpack v3.4+
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