vue前端服务器代理,代理摘要描述

文件端口域名trostrhost:

以下是我转载的文章。我阅读了有关服务器代理的信息,它非常全面。当然,这对公共朋??友来说很方便。

Blogger文章链接:https://www.jianshu.com/p/a2e3147c2af2

当我们使用vue-cli工具创建vue项目时

初始化我的网站项目

创建的设计结构中将有一个index.js文件。

image.png:

index.js文件的proxyTable节点为空。

image.png:

需要两个基本技能来了解此节点的角色

跨网域

扫描二维码关注公众号,回复: 10742849 查看本文章

使用受信任的服务器进行跨域。

代理人

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

猜你喜欢

转载自www.cnblogs.com/blogst/p/12689493.html