nuxt fetch $fetch useFetch 等使用方式区别

大概记录自己使用时的疑惑

fetch 用于server api的代理请求 属于服务器端的请求 官方apis: nuxt.com/docs/4.x/ge...

rust 复制代码
// 文件是在 server/api 目录下
const response = await fetch('https://www.otter-data.com/api/blogsList', {
        cache: "no-cache", //不缓存
    })
const json = await response.json()
return json

$fetch 用于客户端用户发起请求

例如 用户点击后需要刷新列表 官方介绍: nuxt.com/docs/4.x/ap...

javascript 复制代码
//app/pages/blogs/index.vue
const refresh = () => {
  const {data} = await $fetch('https://www.otter-data.com/api/blogsList', {
    method: 'GET',
    credentials: "include",
  })
  console.log('list:', data.value)
}

useFetch 页面加载时 如果需要预渲染那么就用它 还有个 useAsyncFetch也可以

如果想在服务端渲染文章而不是在客户端

官方介绍: nuxt.com/docs/4.x/ap...

php 复制代码
const {data} = await useFetch('https://www.otter-data.com/api/blogsList', {
    method: 'GET',
    credentials: "include",
  })

useAsyncFetch 和 useFetch 个人感觉没什么区别,只是增加了更细的控制 组合 $fetch使用 例如: 自定义缓存key, 是否在服务端进行发送请求, 是否监听参数改变发起请求等参数

官方说明: nuxt.com/docs/4.x/ap...

我只是在文章详情使用,因为需要缓存,同时不能因为缓存导致内容变更却未生效问题

javascript 复制代码
const { data } = await useAsyncData(`article-${uuid}`, () =>
    $fetch(`/api/detail?article_id=1}`, {
      method: 'GET',
      credentials: 'include',
    })
)
相关推荐
平头哥技术团队1 小时前
Day 16 | 用 ul、ol、li 一个标签,把散资料收成有序的技能清单页
开发语言·前端·html·html5
代码青铜z1 小时前
不会写代码做小程序,模板开发和AI 编程靠谱吗?创业前先看这 5 件事
前端
小傅哥1 小时前
Java + DDD,1:1 复刻 Deepseek Harness 项目
前端·后端·ai编程
积硅步致千里2 小时前
Word 里的 .wmf 其实是 EMF:一次 metafile 转 PNG 排障
前端·后端
mayaairi2 小时前
Vue2 组件通讯(二):ref、自定义事件与provide/inject实战
前端·javascript·vue.js
开开心心就好2 小时前
PDF图片去水印软件,支持批量处理页面
前端·javascript·人工智能·智能手机·pdf·语音识别
爱敲代码的小杨.2 小时前
【Spring】Spring Web MVC
前端·spring·mvc
是立不是利2 小时前
深入理解JavaScript事件委托
开发语言·前端·javascript
晴天162 小时前
React 版本迭代解析:从15到19 核心差异-Day40
前端·react.js·前端框架
APItesterCris3 小时前
告别人工盯品!借助 Open‑Claw 快速搭建电商商品全自动监控与数据分析系统(完整实操代码)
java·大数据·前端·数据库