V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
PqgpNgA0wk
V2EX  ›  Nuxt.js

nuxt3 请求数据的最佳实践是什么

  •  
  •   PqgpNgA0wk · 135 天前 · 1191 次点击
    这是一个创建于 135 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近才开始学 nuxt3 ,数据请求上感觉和之前写 vue 有些不太一样,很多教程里使用 useFetch 之类的要么是调一个示例 url ,要么是调 server 目录里的接口,如果是对接后端同事的接口,难道把已有的接口要自己往 server/api 目录里再写一遍嘛,但是封装的话,useFetch 之类的只能写在 setup 里,研究这些文档头都大了😅 有没有已经有项目经验的大佬教下怎么处理数据请求封装 /api 统一管理

    4 条回复    2023-01-27 16:27:44 +08:00
    lyc575757
        1
    lyc575757  
       135 天前 via Android
    nuxt3 内置了一个$fetch 方法,可以在 ts 文件中使用
    https://nuxt.com/docs/getting-started/data-fetching#directly-calling-an-api-endpoint

    如果用不惯,把 vue 项目中封装的 axios 直接迁移过来应该也是没问题的

    server/api 里更多是处理跨域请求吧,如果不存在跨域问题,没必要让请求从 server 转发一遍
    arnosolo
        2
    arnosolo  
       135 天前 via iPhone
    你这个就是观念没转过来。ssr 是这样的,数据由渲染服务器请求(/server )后组装出一个有数据的 html 文件以后再发给前端。如果前端还要进一步修改数据,则讲相关逻辑写着 onMounted 里面。
    arnosolo
        3
    arnosolo  
       135 天前 via iPhone
    https://fireship.io/lessons/nuxt-3-firebase/ 这篇文章虽然用的是 firebase 。但是有助于帮助你理解哪些请求就是渲染服务器发出的哪些请求是浏览器发出的。
    PqgpNgA0wk
        4
    PqgpNgA0wk  
    OP
       134 天前
    @lyc575757
    @arnosolo
    感谢两位解答,又研究了一天,发现如果封装 ofetch 的话,服务端客户端都会请求一遍,可能是我写的不对,索性放弃封装了😅
    现在写了个脚本用 nunjucks 把后端接口文档导出的 json 生成为 /server/api 里的 js 文件,害
    关于   ·   帮助文档   ·   博客   ·   nftychat   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2356 人在线   最高记录 5634   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 15:29 · PVG 23:29 · LAX 08:29 · JFK 11:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.