target:"http://user.zhangpeiyue.com",//访问的服务器地址
changeOrigin:true,//true为开启代理
pathRewrite:{
'^/user': '/'//路径的替换规则
}
changeOrigin的属性值为一个布尔值,
如果设置为true,那么本地会虚拟一个NODE服务端接收你的请求并代你发送该请求(中间件)。[本质上是本地开了一个服务器dev-server,所有的请求都通过这里转发出去。]
因为服务端语言是没有跨域问题的,所以这样最终就解决了跨域问题了。不过这只适用于开发环境,上线后可以使用反向代理nginx。
解释为啥开发环境这种 proxy代理不可以:这种配置本身在devServer配置,基于node环境,所以只适合本地开发使用。在生产环境在,前端项目部署在Apache中 不具备这种条件,官方也不支持这种做法。
生产环境使用Nginx反向代理或者搭配后端使用CORS进行跨域