webpack:proxy中cookie无法保存的解决办法

这几天做个小项目遇到了跨域问题,于是就用了webpack的proxy解决,用的挺爽的,但是做到登录之后,因为服务端使用cookie和sessionid做登录状态保存的,结果就悲催了,我发现它没有将cookie保存起来,简单来说就是我们本地用的是localhost,与我们跨域所用的域名对不上,网上看了下几位大神的博客都对我的项目没有什么作用,于是我又看了下http-proxy-middleware的文档,也就是webpack 实现proxy所使用的插件,最后发现了关键型的一个参数(浏览器渣翻)

option.cookieDomainRewrite:重写set-cookie标题的域。可能的值:

false (默认值):禁用cookie重写
字符串:例如新域cookieDomainRewrite: "new.domain"。要删除域,请使用cookieDomainRewrite: ""。
对象:将域映射到新域,用于"*"匹配所有域。
例如,保持一个域不变,重写一个域并删除其他域:
cookieDomainRewrite: {
  "unchanged.domain": "unchanged.domain",
  "old.domain": "new.domain",
  "*": ""
}

没错,它可以把Domain路径重写,所以,我们只需要加上这么一段话

"/api": {
    target: "http://xxxxxx.com",
    changeOrigin: true,
    pathRewrite: {
      '^/api': '/'
    },
    cookieDomainRewrite: "localhost",
},

这样我们的问题也就解决了,希望能帮到大家

你可能感兴趣的:(webpack,前端,webpack,cookie,proxy,前端)