umi 如何使用 proxy 代理解决 开发环境跨域 问题

这篇具有很好参考价值的文章主要介绍了umi 如何使用 proxy 代理解决 开发环境跨域 问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

跨域是什么

由于浏览器的同源策略限制,当一个请求 URL 的协议、域名、端口和当前页面 URL 任意一个不一致时都会出现跨域错误。

eg:
node run了一个http://localhost:8080 的服务,在这个服务器下访问的网页也默认在 http://localhost:8080 这个域下面;

假设服务端所在的域是http://example.com
这样通过ajax发送请求的话;

由客户端直接传过去的就是一个域名为 http://localhost:8080 的请求;
而服务端所在的域是 http://example.com;

域名不同,请求失败,出现跨域错误

解决跨域可以从两个方面着手

  1. 客户端
  2. 服务端

接下来介绍如何在 umi 中使用 proxy 代理处理跨域问题

代理解决跨域的原理

使用代理解决跨域的原理

在客户端和服务端之间加了一层中间层
中间层的作用:将不同的域名转换为相同的域名

umi 如何使用 proxy 代理解决 开发环境跨域 问题

  1. 客户端发送请求,先经过中间层的处理,将域名 http://localhost:8080 转换为 http://example.com
  2. 利用转换后的域名发送请求到server
  3. 服务端接收到请求的域名 http://example.com,相应经过中间层的处理,将域名进行转换,发送响应数据给客户端
  4. client 收到和自己相同的域名,继续下一步操作

umi使用proxy代理解决跨域

config.js配置文件里设置

proxy: {
  "/ci": { // 标识需要进行转换的请求的url
   "target": "http://example.com", // 服务端域名
   "changeOrigin": true, // 允许域名进行转换
   "pathRewrite": { "^/ci": ''}  // 将请求url里的ci去掉
  }
}

发送请求时需要将请求的url设置为 http://localhost:8080/ci/xx/xx,代理才会对这条请求的域名进行替换。文章来源地址https://www.toymoban.com/news/detail-491048.html

到了这里,关于umi 如何使用 proxy 代理解决 开发环境跨域 问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前端开发服务器中的 Proxy 代理跨域实现原理解读

    各位朋友你们好,我是 桃小瑞 ,微信公众 @ 桃小瑞 。在这给大家拜个晚年,祝各位朋友新年快乐。 在前端的开发过程中,尤其是在浏览器环境下,跨域是个绕不开的话题,相信每个前端都会涉及到这个问题,记住的就直接手敲解决跨域问题,记不住的就只能问度娘了。😂😂

    2024年01月16日
    浏览(60)
  • web前端开发项目走proxy代理后端接口,构建发布到生产等环境后,如何修改api接口

    在开发环境,因为本地站点和接口站点不是同一个域名,就产生了跨域问题,但是不可能让后端开发跨域端口或使用 jsonp ,所以,一般是让前端通过在 webpack.config.js 中配置 proxy 来走接口代理。 代码如下: 这样,就将本地域名代理到接口了。 构建成 dist目录 后,就不能修改

    2024年02月15日
    浏览(45)
  • 已配置vue.config.js中的proxy代理,前端本地环境仍然请求后端出现跨域报错

    已配置vue.config.js中的proxy代理,前端本地环境仍然请求后端出现跨域报错 已配置vue.config.js中的proxy代理,前端本地环境仍然请求后端出现跨域报错 控制台仍然出现cors禁止报错,接口调不通 配置proxy代理解决跨域问题的原理是: 前端工程本地环境会启动一个 express 或 koa 的

    2024年02月01日
    浏览(58)
  • vue2 利用网络代理axios实现开发环境前端跨域

    vue2 利用网络代理axios实现前端跨域 vue.config.js 配置代理 vue文件 实现开发环境跨域请求 测试生产环境跨域跳转 https://blog.csdn.net/weixin_43858851/article/details/137518111?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22137518111%22%2C%22source%22%3A%22weixin_43858851%22%7D

    2024年04月12日
    浏览(47)
  • Angular: 配置 proxy 解决跨域

    2024年01月23日
    浏览(42)
  • 本地前端代理连接服务器后端gateway api浏览器提示cors跨域,如何解决?

    🏆本文收录于「Bug调优」专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家 关注收藏订阅 !持续更新中,up!up!up!!   本地前端代理连接服务器后端gateway api浏览器提示

    2024年04月12日
    浏览(58)
  • 开发环境中解决跨域问题,nginx和tomcat

    有两种方式,一种是在前端配置,一种是在后端配置 需要在前后端都配置 在前端新建axios的时候添加withCredentials: true 在后端添加

    2024年02月08日
    浏览(39)
  • 遇到本地跨域问题时候webpack本地开发配置proxy的方式

    假设现在有两个后端服务user和excel,接口请求地址为http://100.100.200.103:8012/pc/cfsm/web-user/getUser/id=2233?timestamp=234423322 本地调用该地址则为 localhost:8080访问http://100.100.200.103:8012/cfsm域,出现跨域问题, 解决方式为: webpack.dev.config.js中proxy写法如上, 系统服务可能会很多,所以给所

    2024年02月15日
    浏览(45)
  • vue.config.js配置proxy代理解决跨越;proxy代理报404;

    像我们本地的vue项目运行起来,访问的地址一般是localhost,这个时候请求后台的接口,端口号也不一致,肯定就会存在跨域问题,所以我们要是想正常访问接口的话,就需要解决掉跨域问题。 本文我们是在vue.config.js配置proxy代理解决跨越:如果没有vue.config.js,就直接在项目

    2023年04月08日
    浏览(50)
  • vue设置proxy代理,如何去查看代理地址

    使用vue框架里的proxy代理解决跨域问题,有些时候也不清楚走没走代理,给调试带来很大的困难,现整理两套方案查看代理之后的真实地址 第一种,在vscode的终端查看,需要在vue.config.js中代理中设置logLeve: ‘debug’,这样在代理接口请求之后终端会有显示真实的接口地址 第二

    2024年02月12日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包