前端配置代理实现前后端代码联调

前端代理

为什么我们要配置前端代理?

对于一个前端开发工程师,我们时刻都要与后端的接口打交道,当我们拿到后端给我们的接口后调用该接口,向后端发送消息,但运行程序后发现出现了跨域问题。

这是因为前后端开发分离,我们希望直接向后端接口请求数据,但因为浏览器自身的跨域限制,前端无法直接让从浏览器发起的请求到达后端的服务器。如下图所示:

在这里插入图片描述
这个时候就需要在前端加入一层代理,他会在本地创建一个虚拟服务器,以此我们解决跨域的问题。

在这里插入图片描述

那我们如何配置代理呢?

export default defineConfig({
// 配置代理
devServer: {
 https: false,
 proxy: {
   '/api': {  // 代理http://localhost:8080/api/...的所有路由
    target: 'https://172.20.9.153:8085', // 后端服务器地址
    changeOrigin: true, // 允许跨域,会在本地创建一个虚拟服务器
     pathRewrite: {  //重写...api,并将其替换为空
		  "^/api: ""
     }
     }
   },
 },
});

在axios中我们请求url时用法如下:

this.$axios.get("/api/getPointCloud/...")

这样我们就成功解决了跨域的问题!

后端代理

当我们将我们的代码打包发布到服务器上之后,部署到服务器上的代码在请求后端地址时就不会出现浏览器跨域的问题,并且他也不会再根据devServer中的代理配置创建虚拟服务器了。但这时浏览器向后台请求的url还是:

this.$axios.get("/api/getPointCloud/...")

所以后端需要配置相同的代理(换句话来说后端在Nginx中配置的代理需要和前端配置的代理一致!后端在配置与前端相同的代理后,向后端真实的地址发送请求,成功返回前端所需的数据,完成闭环!

  • 7
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
你好!关于华为随行WiFi的前后,首先需要明确一下具体的配置内容。通常来说,前端和后是为了确保系统的功能能够正常运行,并且前后之间的数据交互能够顺利进行。 在华为随行WiFi的配置过程中,前端主要负责用户界面的展示和用户交互,而后则负责处理用户请求,并与数据库或其他服务进行交互。为了进行前后,你可以按照以下步骤进行: 1. 确保前后开发环境已经搭建好,并且能够正常运行。 2. 在开发环境中,将前端和后代码进行整合,确保两者能够正常编译和启动。 3. 针对具体的功能模块,定义好前后之间的接口。 4. 在前端代码用后接口,发送请求并处理返回的数据。 5. 在后代码实现相应的接口,处理前端发送的请求,并返回相应的数据。 6. 运行前端和后代码,通过接口进行数据交互。 7. 针对每个接口,进行测试和试,确保数据的传输和处理逻辑正确无误。 8. 如果发现问题或错误,及时进行修改和试,直到过程顺利完成。 在进行前后过程中,可以借助一些试工具和技术,例如使用浏览器的开发者工具来检查网络请求和响应,使用接口测试工具来模拟前端发送请求等。此外,注意及时记录和解决遇到的问题,保持前后的沟通和协作,有助于提高的效率和质量。 希望以上信息对你有所帮助!如果还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值