vue开发模式跨域-思路整理

推荐文章

1. 不要再问我跨域的问题了
2. vue开发环境和生产环境里面解决跨域的几种方法


以下是我对vue-cli搭建的项目中出现跨域问题的理解

     首先需要知道,跨域问题是源于浏览器的同源策略。

    当vue-cli搭建的项目在开发模式启动时,会启动一个本地服务器,而这个服务器中会采用了 http-proxy-middleware 中间件对 proxTable 中的配置地址进行代理(配置可见:vue开发环境和生产环境里面解决跨域的几种方法  中方法proxyTable)。每当匹配到地址请求,请求会通过该中间件进行代理。这导致我们在点开Network会发现我们请求的Request URL是: IP(本地服务IP)+目录名+接口名。

    之后,后端接口的 Response 也是先经过本地的服务器(中间件),再被拿到。

具体解决

    前端在调取后端接口的目标IP应该就是本地服务IP(接受代理)。再通过早已配置好的 proxyTable 来实现跳转至真正的后端目标IP(开始代理,代理配置可见:vue开发环境和生产环境里面解决跨域的几种方法  中方法proxyTable)
    那么,一劳永逸的方法就是,在手动封装axios(采用的http库),直接就

 axios.defaults.baseURL =  window.location.origin



最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容