We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
<ClientOnly>
<template> <ClientOnly fallback-tag="span" fallback="Loading comments..."> <Comment /> </ClientOnly> </template>
这个组件在服务端渲染时得到:
<span>Loading comments...</span>
也可以通过 #fallback 插槽来声明服务端占位内容。
#fallback
以下变量在 Nuxt 3 文档中似乎没有提及。
process.server
process.client
console.log('process.server ===', process.server) console.log('process.client ===', process.client)
以上代码在着陆状态下,在服务端输出一次:
true === true false === false
把 process. 改成 process\. 则可以让服务端输出正确的信息。或许这两个变量的原理是 Nuxt 通过对源码做了字面替换来实现的。
process.
process\.
在浏览器端输出一次:
process.server === false process.client === true
在 SPA 状态下,在浏览器端输出一次(输出结果同上)。
由于 SSR 阶段不会执行 onMounted 等生命周期钩子,我们可以把客户端代码写入其中。
onMounted
useRequestEvent()
在页面、组件、插件中,用来获取当前请求:
const event = useRequestEvent() const url = event.node.req.url
在客户端只能得到 undefined。
useRequestHeaders()
// 获取所有请求头: const headers = useRequestHeaders() // 获取指定请求头: const headers = useRequestHeaders(['cookie'])
在客户端只能得到空对象。
相关链接:
The text was updated successfully, but these errors were encountered:
No branches or pull requests
组件
<ClientOnly>
这个组件在服务端渲染时得到:
也可以通过
#fallback
插槽来声明服务端占位内容。变量
process.server
&process.client
以上代码在着陆状态下,在服务端输出一次:
在浏览器端输出一次:
在 SPA 状态下,在浏览器端输出一次(输出结果同上)。
Vue 生命周期钩子
由于 SSR 阶段不会执行
onMounted
等生命周期钩子,我们可以把客户端代码写入其中。API 行为差异
useRequestEvent()
在页面、组件、插件中,用来获取当前请求:
useRequestHeaders()
相关链接:
The text was updated successfully, but these errors were encountered: