axios 会给 /api/前加当前服务域名吗?
前端项目:
.env配置
# APIVUE_APP_BASE_API = '/prod-api'
前端不做代理,由nginx来做代理。
浏览器看到的请求地址如下:
http://localhost:9000/prod-api/**
请问:前面的“http://localhost:9000”是前端代码加的吗?axios加的?还是nginx加的?
回答:
感谢各位的帮助,给了我很多支持。
这个问题最终看了axios的源码包。
axios对于http://域名+端口+接口串正常解析,对于/api/+接口串,善良的axios会帮助我加上前面的http://域名+端口,增加内容为当前服务的域名+端口。
# APIVUE_APP_BASE_API = '/prod-api'
所以:针对配置如上的情况,http请求有善良的axios给我加http://域名+端口。但是websocket却不会做多余的事情。
所以善良的axios迷惑了我,让我对nginx配置的无法放下,掉进了错误的坑里。
axios源码处:
axios/lib/helpers/isURLSameOrigin.js
回答:
axios加的,毕竟一个资源连接是由协议
+域名/地址
+端口
+路径
组成的.
你是想让前端请求你的nginx服务器?
那你就在配置axios的时候,加上baseurl这个配置项
这时候axios就会给你加上你期望的nginx地址了
不然,就是地址栏上的协议
+域名/地址
+端口
回答:
浏览器加的
https://developer.mozilla.org/zh-CN/docs/Learn/Common_questio...
回答:
浏览器加的。如果有配置另一个地址做代理,直接写完整的代理地址VUE_APP_BASE_API = http://www.xxxx.com/prod-api
以上是 axios 会给 /api/前加当前服务域名吗? 的全部内容, 来源链接: utcz.com/p/934009.html