这段时间接触一个项目,本地开发run serve 后,打开浏览器输入本地地址,开发会遇到调用接口正常丢了需要依赖的cookie的情况,不同域名下的cookie无法共享,这就导致在本地开发的过程中,虽然在vue-cli的config下做了跨域设置,能够调用到接口,但是却无法请求到数据的问题。

1。接手的项目, 本地运行之后有个登陆拦截(登陆页是单独已经部署在服务器上属于公共页面),选择登陆成功之后会回掉本地地址,在这期间有个sso认证,成功后后端生成的cookie会返回本地,但是这个cookie携带的是在一级域名下面。当你本地取cookie时就会涉及不再一个域名下面是无法拿到对应的cookie,没有cookie进行下一步很难,页面无法打开。

针对这个问题,我想到直接将开发环境的域名配置成所需要的域名,即在vue.config.js中进行配置:

配置好要代理的地址,本地端口号改为80

module.exports = {

devServer: {

disableHostCheck: true,

port: ’80’,

‘^/api/’: {

target: ”http://xxxxxxxx’ //配置所需域名’

}

}

}
之后在本地的hosts文件中配置地址映射,我们需要找到hosts文件更改

win系统目录(c盘windows/System32–>drivers–>etc)找到hosts文件 文本编辑打开 修改  

mac系统(查找文件/etc下面的hosts)(https://zhuanlan.zhihu.com/p/343066455

参考图可以看的清楚

127.0.0.1    x需要的地址x

 

然后修改config/index下的proxyTable设置,将端口修改为80端口,之后再重新启动服务:

1 npm run dev 或 有淘宝镜像的cnpm

2 mac 需要管理员运行 sudo npm run serve

在MAC下启动端口需要使用root模式,也就是sudo使用sudo npm run dev即可正确运行项目
 


版权声明:本文为weixin_44272169原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_44272169/article/details/116603348