同源策略是浏览器的安全机制,用反向代理方便前端请求后端数据,解决跨域问题,服务器和服务器之间没有跨域问题,浏览器才会识别到跨域
MDN对Proxy 的定义是:
Proxy对象用于定义基本操作的自定义行为(如属性查找、赋值、枚举、函数调用等)。
通俗的将,Proxy对象是目标对象的一个代理器,任何对目标对象的访问,都必须通过该代理器。因此我们可以对外界的访问进行过滤改写等操作。
在前端项目中配置的proxy各个参数解析如下:
举例说明:
如果你要访问的地址是
“https://randomuser.me/api/?results=5&inc=name,gender,email,nat&noinfo”
那么项目中的配置成功后会识别到api,代理到
url/?results=5&inc=name,gender,email,nat&noinfo”,这里api被替换,因为pathRewrite重写了地址,这样就不用重复传递/api (大家都是这么写的,我也不知道为什么要把api替换掉,碍事吗?)
1、一个基本的proxy配置:
module.exports = {
//...
devServer: {
proxy: {
'/api': 'http://localhost:8800'
}
}
};
2、默认情况下,不接受运行在HTTPS上,且使用了无效证书的后端服务器。如果你想要接受,修改配置:secure: false
3、将请求代理到同一目标
如果要将多个特定路径代理到同一目标,则可以使用具有context属性的一个或多个对象的数组:
const url='http://192.168.0111.8888'
module.exports = {
//...
devServer: {
proxy: [{
context: ['/auth', '/api'],
target: url,
}]
}
}



