«

react引入网页跨域问题

emer 发布于 2019-7-15 10:07   2695 次阅读     


遇到这样一个需求,react重构网站时,暂时需要引入其他域名网站详情,如果直接引入肯定会因为没有cookie引入页面跳转登录页面,首先我们用api代理网页,不会有跨域问题,其次防止网站重新登录,那么我们需要将cookie重写,我的配置如下:

const str="http://ningli.win/"

app.use(proxy(['/api','/js','/css'], { target:str,changeOrigin:true,
pathRewrite:{
"^/api":"/",

},
cookieDomainRewrite: {
"*": ""
}
}));    
如上我们  iframe src="/api/post/12"  ---->转发到 ningli.win/post/12
如上我们成功引入了ningli.win网页下的网址,但是问题来了,你会发现所有资源无法引入,原因是iframe内的/js,/css被转发到了 locahost的根目录,
localhost/js,/css肯定是找不到的,所以我们需要将/js,/css重写到原来的所以如下:
  const  str="http://ningli.win/"

  app.use(proxy(['/api','/js','/css'], { target:str,changeOrigin:true,
  pathRewrite:{
   "^/api":"/",
   "^js":"/",
   "^css":"/"
  },
  cookieDomainRewrite: {
    "*": ""
   }
  }));

我们解决了这个问题