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