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

[qiankun+nuxt]子应用请求本地文件报错404

前言

目前公司的前端架构是qiankun+nuxt做的微前端项目

问题说明

在子应用中,前端需要模拟一些数据,方便后期演示调整而不需要重新打包
所以将一些数据存储到了本地的json文件中,但是获取时报了404的错误,找不到该文件。

页面报错如下:
在这里插入图片描述

控制台中报错如下:
在这里插入图片描述
请求方式:

const ret = await this.$axios.get("/info.json");

问题分析与解决

首先,不应该直接用get请求json文件,因为$axios重定义过会给每个请求添加统一的/api路径,所以应该改为

const ret = await this.$axios({method: 'get',url: '/info.json',baseURL:''
})

这样就不会将统一的/api添加在请求路径前面。
其实这个路径已经可以满足子应用单独运行时,请求到本地文件夹中的json文件了。

然而,这样访问在微前端框架中依旧控制台会报错如下:
在这里插入图片描述
是因为这样访问的其实是主应用本地的json文件,而我们想要访问的json文件是存储在子应用的本地的,所以应该有一个路由可以让主应用的proxy判断出这是属于自应用的请求,而转发给子应用,所以,请求应该改为

const ret = await this.$axios({method: 'get',url: '/info.json',baseURL:'/app-child' 
})

其中/app-child这个头是属于这个字应用特有的路由头,主应用的proxy中这样配置

'/app-child/': {target: 'http://127.0.0.1:10007',secure: false,logLevel: 'debug',pathRewrite: {'^/app-child': '',changeOrigin: true,},xfwd: false,
},

主应用就可以根据这个请求路径转发给子应用啦,我们也可以正常请求到json里面的内容啦~

讲的有些啰嗦,但应该也算明白,记录一下吧。

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

相关文章:

  • 【Qt网络编程】实现TCP协议通信
  • Webpack打包———处理样式资源
  • VP记录:Codeforces Round 857 (Div. 2) A~D
  • Docker常用项目实战演练
  • Linux进程间通信-FIFO命名管道
  • 【Kafka】记录一次基于connect-mirror-maker做的Kafka集群迁移完整过程
  • 实现VOC数据集与COCO数据集格式转换
  • 常用的密码算法有哪些?
  • SNS (Simple Notification Service)简介
  • JVM初步理解浅析
  • 【巨人的肩膀】MySQL面试总结(一)
  • 【数据结构之树】——什么是树,树的特点,树的相关概念和表示方法以及在实际的应用。
  • JavaScript语法
  • 【BIOS/UEFI】HII 基本框架及概述
  • sprintf(...)溢出边界导致程序崩溃的问题
  • 公式推导+dfs简版
  • 论文笔记 | 标准误聚类问题
  • 银行管理系统--课后程序(Python程序开发案例教程-黑马程序员编著-第7章-课后作业)
  • 【18】组合逻辑 - VL18 实现3-8译码器①
  • 2020蓝桥杯真题最长递增 C语言/C++
  • 华为OD机试题 - 寻找连续区间(JavaScript)| 机考必刷
  • 一次疲惫的调试--累了及时透气
  • 综合练习7 摄氏度转华氏温度(“\t“的使用,循环语句)
  • AWS数据库总结
  • 2个步骤就能批量给视频添加滚动字幕
  • PHP 的运行方式有哪些?
  • Web学习3_JavaScript
  • 「MySQL基础」不可重复读和幻读的区别
  • CorelDRAW2023最新版新增功能200多个新模板
  • springboot自定义日志以及行号正确展示