文件端口域名trostrhost:
以下是我转载的文章。我阅读了有关服务器代理的信息,它非常全面。当然,这对公共朋??友来说很方便。
Blogger文章链接:https://www.jianshu.com/p/a2e3147c2af2
当我们使用vue-cli工具创建vue项目时
初始化我的网站项目
创建的设计结构中将有一个index.js文件。
image.png:
此index.js文件的proxyTable节点为空。
image.png:
需要两个基本技能来了解此节点的角色
跨网域
使用受信任的服务器进行跨域。
代理人
proxyTable是跨域代理的中继服务器服务,由vue-cli脚手架开发人员提供。基于(http-proxy-middleware插件)。
为什么会有代理表?
有时,我们在处理过程中请求的反馈接口(a.b.c / data.json)的命名域与vue(localhost。8080)不在同一个域名,并且背面不提供cors的跨境服务。
image.png:
在正常情况下,我们不能通过ajax从文件请求数据,因为它是跨域的。浏览器的同源性策略中断了此数据的返回,并且没有位置。
有两种解决方案。
服务器启动cors(最方便,最方便)
使用受信任的服务器进行传输(vue仍要求其自身的背景,让后台请求背景数据,然后将数据返回给vue)
登录不提供跨平台后台服务的数据接口
使用node.js在此处编写一个非常简单的http服务。端口号是54321。
该服务仅返回json数据。
但是未启用跨域功能。
const http =请求(‘http)
const fs =需求(‘fs)
http.createServer((查询,回答)= \\ ugt26;
console.log(poll.url)
//对于所有请求,都会返回此json数据。
fs.readFile('./ json.data.json“,'utf-8',(错误,数据)= >>
回应(数据)
})
听):听(54321,()=> {
console.log(“服务器在54321上运行”)
})
测试一下。
然后使用vue-cli创建一个vue项目
然后在App.vue中输入以下代码
已创建()
this.axios.get('http://本地主机:54321 / json.data.json“)
.Let(answer = \\ ugt26 gt; {
this.users = answer.date.todoList:
console.log(this.users.todoList)
})
。抓住(错误= \\ \\ {
console.log(错误)
})
,
毫不奇怪,您肯定会得到一个跨域(Vue:8080)。 (json.data:54321)
假设背景是由其他人,甚至您甚至不认识的人或公司撰写的。您不能将它们添加到走廊的十字路口。
然后只有一种选择。
调整代理图表
为跨域设置proxyTable
ProxyTable跨域的基本原理如下:
在Web开发模式下,Web软件包将为我们提供http代理服务器。
当我们请求接口时,它实际上是所请求的网页提供的http代理服务器。
该受信任服务器所需的真实数据服务器。
最终,数据通过可信的Web服务器,最后被传输到我们的vue程序。
为什么要添加受信任的服务器?
因为代理服务器不是浏览器,所以对相同的源策略没有任何限制。
一旦了解了基础知识,就可以了解代理节点的某些功能。
代理{
//这里的形式“ / api”等效于目标,您访问/ api === http: //本地主机: 54321链接:
‘/ Api”:
目标‘Http: //本地主机: 54321 /“,//真正的服务器接口地址// http://本地主机:54321 / json.data.json,
安全: true,//如果是https,则需要运行此选项
changeOrigin:是的,//这是一个填字游戏吗?当然,是的,没有跨域就无需调整此代理表。
pathRewirte: {
//这是附加链接。例如,如果接口包含/ api,则需要以这种方式进行配置。
‘/ ^ Api”: api /”,
//等价
//步骤1 / api = http: //本地主机: 54321 /
//步骤2 / ^ api = / api + api == http: //本地主机: 54321 / API:
}
}
,
关于pathRewrite节点的注释问答知识图片价格大全。
首先,设置/ api \\ rsquo;在ProxyTable模块中,将服务器地址放置在目标中,该地址是接口开头的地址,例如http。 //本地主机: 54321 /,那么当我们调用接口时,我们可以使用Global / api,那么/ api的作用等同于http。 //本地主机: 54321 /,例如,接口地址是http // localhost。 54321 / api / json.data,我们可以使用/ api / json。资料:
pathRewrite的作用是什么?这里的功能等同于替换/ API。如果接口中没有API,它将为空。如果接口中有API,则应将其编写为:: / api。 api :,可以理解为重定向或重置功能。
总结:
proxyTable是Web网络在开发环境中提供的受信任服务器(使用http-proxy-middleware)
目标是在服务器不愿意启用跨域功能时,在开发阶段将请求发送到ajax跨域。
当真正的发布环境不起作用时。直到您配置了受信任的服务器或在后台打开了它
vue前端服务器代理,proxyTable简要描述了文件域名trostrhost。JS