vue中配置后端接口服务信息详解
目录
- vue配置后端接口服务信息
- 最重要一点
- 以此接口为例
- vue与后端接口是如何进行接口请求的原理
- 最近遇到一个很奇怪的问题
- 附上如下图示
vue配置后端接口服务信息
最重要一点
【vue中配置后端接口服务信息详解】配置完信息后,重新启动服务 npm run dev
需要在config下的index.js中 找到
module.exports = {dev: { }}
以此接口为例
dev: {// PathsassetsSubDirectory: 'static',assetsPublicPath: '/',proxyTable: {'/api': {target: 'http://100.1.1.1:10',//设置你调用的接口域名和端口号 别忘了加httpchangeOrigin: true}},}
然后在main.js中引入axiosnpm install axios -d
import axios from 'axios'Vue.prototype.$http = axios.create({timeout: 10 * 1000})
然后在vue组件中这样使用:
this.$http.get('/static/data/xxxxx.json').then(res => {console.log(res)}).catch(err => {console.log(err)})
vue与后端接口是如何进行接口请求的原理
最近遇到一个很奇怪的问题
前端vue和后端java项目布在同一台服务器(假设该服务器为180服务器),该180服务器无法通过外网访问,前端通过另一台可ping通180服务器和连接外网的服务器(假设为181服务器)进行nginx外网映射访问。此时,我们的设计是希望前端通过内网IP直接对后端接口请求,而不是去走域名进行请求,这样能够在请求时少走一次防火墙,提供接口请求速度。
但是理想很美好,但是现实是最后发现,前端一直无法成功访问到后端接口,一直请求失败。经过多方排查和请教大佬,终于清楚的理解了前后端分离的请求是怎么走的。
其实,在用户在浏览器端进入应用时,他不是直接去服务器访问前端项目,而是通过下载,把前端的项目载入到用户的浏览器中,然后再通过浏览器下载下来的前端vue项目进行请求后端接口的,这时候,如果后端的接口请求改成试用180服务器的ip进行请求,那么外网是无法获取到内网180服务器的后端服务的,因此就导致请求一直失败。
因此在前后端分离的项目中,前端在请求后端接口时,一定要通过域名进行访问,或者后端的服务器需要能够被外网访问到才可以进行正常的接口访问。
附上如下图示
手画请谅解
文章图片
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
推荐阅读
- 聚焦大公司动态|新五年,新创变,新跨越!2022第六届中国水产科技大会如约而至
- 世上第一台用于管理的商用计算机,2019年4月自考00051管理系统中计算机应用试题和答案...
- 2015年10月管理系统中计算机应用答案|2015年10月管理系统中计算机应用答案,全国2015年10月高等教育自学考试管理系统中计算机应用必考题和答案...
- Python中的七个小技巧
- c语言中各种函数的作用,C语言常用函数用法大全
- c语言的拷贝函数,利用C语言中的函数实现文件的Copy
- python|python数据分析基础007 -利用pandas带你玩转excel表格(中上篇)
- python中判断生肖和星座哪个准_生肖与星座哪个更准确:星座和属相哪个更准一些(...)
- 编程语言_JAVA|Netty实战-如何在web项目中对接第三方tcp协议
- 我发现了华点(vue规定用普通函数定义方法,为什么react又要我用箭头函数!)