使用 Vite 的 Quasar CLI - @quasar/app-vite
为什么我会遇到水合错误?
请查看我们的 客户端水合 页面。当您遇到水合错误时,表示服务器上渲染的 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 存储是仅限浏览器的 API。