我们使用node作为服务端,
经常会用到express-session或者cookie-session
来保存数据,
但是我们会经常遇到
在vue端发起post请求的时候,node 端响应接口的时候,
我们的req.session会出现失效的问题,
出现这个bug的原因是客户端发送post请求的时候发生了跨域,
解决方法:
在客户端使用吸片技术,使用/api等路径来代替网路请求的地址,
在Vue项目中我们可以新建一个 vue.config.js文件,
(配置proxyTable, 使用客户端反向代理进行跨域),
但是你也会说我们解决跨域问题也可以在后端进行cors配置,
但是虽然解决了跨域问题,也会造成req.session失效的问题。
所以我们可以只在vue端进行配置即可:
vue.config.js中具体的配置内容:
module.exports={
configureWebpack:{
devServer:{
proxy:{
'/api':{
target:'http://localhost:3000',
changeOrigin: true,
pathRewrite: {
"^/api":''
}
}
}
}
}
}
以上就可以解决了。
但是如果只在vue端进行反向代理进行跨域的话会存在一个安全问题,
如果你想保证安全,可以在vue端进行配置之后,然后再node端使用cors进行配置