【发布时间】:2022-01-05 11:21:39
【问题描述】:
我想始终在服务器端获取数据(以防止它们可以从网络选项卡中读取)
当页面刷新(或第一次加载)process.server 返回true 并且在网络选项卡上看不到任何内容。
async asyncData({ params, $axios }) {
console.log(process.server)
const { id } = params;
const url = `api/post/${params.id}`
const post = await $axios.$get(url);
return { post };
}
但是,当我尝试使用 router-link 或 nuxt-link 通过内部链接导航时,总是以客户端获取结束。 process.server 返回false 并且可以在网络选项卡上看到请求/响应。
我想出的唯一解决方案是使用<a> 代替内部链接,这要归功于此页面已加载,我们可以获取服务器端。
Nuxt 文档说始终使用nuxt-link 而不是<a> 用于内部链接,但<a> 可用于外部链接。所以我想知道如果我们使用内部链接会有什么缺点(只是为了刷新页面并确保在服务器端获取)
或者有什么更好的方法可以在我们导航时始终获取服务器端?
【问题讨论】:
标签: javascript frontend nuxt.js server-side-rendering nuxt-link