使用 Webpack 的 Quasar CLI - @quasar/app-webpack
为什么我遇到水合错误?
请查看我们的 客户端水合 页面。当您遇到水合错误时,这意味着服务器端渲染的 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
在 启动文件 或 预取功能 中可用,它作为参数提供。
这样做是有充分理由的。在仅客户端的应用程序中,每个用户都将在其浏览器中使用应用程序的新实例。对于服务器端渲染,我们希望得到相同的结果。每个请求都应该拥有一个新的、隔离的应用程序实例,以避免跨请求状态污染。因此,平台 和 Cookie 需要分别绑定到每个请求。
另外,建议阅读 编写通用代码 文档页面。
为什么 LocalStorage 和 SessionStorage 不起作用?
在服务器端运行代码时,存储功能无法工作。Web Storage 仅是浏览器 API。