当前位置: 首页 > news >正文

nuxt3 api如何透传(不引第3方库)

背景:

nuxt做为一个vue的服务端渲染框架,本身就具备服务端的功能,理论上可以完整做一个系统功能,包括对数据库等等操作,但更合理的做法是nuxt应该定位只做服务端渲染的事情,更偏向ui层面,而非数据curd,业务逻辑,权限等等偏向服务端的逻辑。本身基于vue的服务端渲染已经也挺耗性能,所以应该单独规划一层,类似bff+ui;

按这个规划nuxt的数据来源就应该是透传到内部的服务器,那么怎样实现透传呢?

解决方案:

1.如果服务端设计的session存储方式是cookie,则可以通过配置nuxt.config.ts

routeRules: {"/sapi/**": {proxy: {to: "http://xxx/**",},},},

的方式,将本地请求地址/api/xx,完全代理到http://xxx/xx

类似nginx的代理功能;用nginx完全可以代替,性能可能还更好

2.如果服务端设计的是jwt,在header加其他字段保存的方式,那上面的方式就不行了

为什么不行?因为一个界面打开的时候,请求头是不会自动带任何自定义的东西的,这个功能只有cookie才能完成。所以如果登录后,刷新一个需要登录后的页面,这个获取不到页面任何凭证,所以会退出到登录页。要完整实现这种功能就需要做一些中间件拦截代理请求,将token获取到后,转成cookie下发到客户端,同时拦截客户端提交请求

http://www.lryc.cn/news/359684.html

相关文章:

  • list常用接口模拟实现
  • 前端工程化工具系列(三) —— Stylelint(v16.6.1):CSS/SCSS 代码质量工具
  • crossover mac好用吗 CrossOver Mac怎么下载 Mac用crossover损害电脑吗
  • PHP模块pdo_sqlite.so: undefined symbol: sqlite3_column_table_name
  • 卷积神经网络-奥特曼识别
  • VB.net进行CAD二次开发(四)
  • 3步轻松月入过万,APP广告新模式大揭秘!
  • java项目之智能家居系统源码(springboot+vue+mysql)
  • 前端 JS 经典:读取文件原始内容
  • 汇编概论和实践
  • 铁塔基站用能监控能效解决方案
  • keepalived安装文档
  • Spring Security
  • vue中大屏可视化适配所有屏幕大小
  • AI大模型探索之路-实战篇12: 构建互动式Agent智能数据分析平台:实现多轮对话控制
  • 深入理解文件系统和日志分析
  • vue+vant移动端显示table表格加横向滚动条
  • webserver服务器从零搭建到上线(八)|EpollPoller事件分发器类
  • SD-WAN:企业网络转型的必然趋势
  • 构建高效稳定的短视频直播系统架构
  • python分别保存聚类分析结果+KeyError: ‘CustomerID‘报错
  • Sui与Atoma合作为开发者提供AI支持
  • go-gin中session实现redis前缀和db库选择+单点登录
  • python-双胞胎字符串
  • 万字长文,小白新手怎么开始做YOLO实验,从零开始教!整体思路在这里,科研指南针!
  • MDR-1A用什么前端:深度解析与实用指南
  • 01Linux以及操作系统概述
  • 华为OD刷题C卷 - 每日刷题 1
  • 基于ELK的日志管理【开发实践】
  • 音视频开发—音频相关概念:数模转换、PCM数据与WAV文件详解