为什么会出现水化错误?
看看我们的客户端水化页面。 当您收到水化错误时,这意味着服务器上渲染的HTML与客户端上渲染的等效HTML不匹配。 此错误仅在开发时才会出现(而不是在生产环境中出现),并且在发布网站之前肯定需要解决该错误。 有一些只能在客户端生成的内容吗? 那么使用QNoSsr。
为什么导入Platform和Cookies无效?
为SSR进行构建时,请仅使用 $q.platform
/$q.cookies
形式。 如果您需要使用import { Platform, Cookies } from 'quasar'
(在服务器端),则需要这样做:
// 平台示例; Cookies也一样
import { Platform } from 'quasar'
// 您需要访问`ssrContext`
function (ssrContext) {
const platform = process.env.SERVER
? Platform.parseSSR(ssrContext)
: Platform // 否则我们在客户端
// 平台等同于非SSR构建中的全局导入
}
可以在启动文件或预取功能中找到ssrContext。 作为参数提供。
这是有充分的理由的。 在仅客户端的应用程序中,每个用户都将在其浏览器中使用该应用程序的新实例。 对于服务器端渲染,我们需要相同的东西。 每个请求都应该有一个新鲜的,隔离的应用程序实例,这样就不会出现交叉请求状态污染。 因此,Platform和Cookies需要分别绑定到每个请求。
另外,最好阅读编写通用代码文档页面。
为什么LocalStorage和SessionStorage不起作用?
在服务器端运行代码时,存储设施无法正常工作。 Web存储是仅浏览器的API。