首页 > 开发 > JS > 正文

webpack proxy配置无法跨域?

2017-09-05 05:51:27  来源:网友分享

在获取rss,设置了三个源:ithome,36kr,ifanr,使用webpack-dev-server 的 proxy 配置跨域请求.

三个源的地址:
ithome
36kr
ifanr

可是ithome这个源总是因为不允许跨域请求错误,而单独请求另外两个没有问题:

webpack中配置:

devServer: {    proxy: {        "/rss/ithome": {            target: "https://www.ithome.com",            changeOrigin: true,            pathRewrite: {                '^/rss/ithome': '/rss/'            }        },        "/rss/36kr": {            target: "http://36kr.com",            changeOrigin: true,            pathRewrite: {                '^/rss/36kr': '/feed'            }        },        "/rss/ifanr": {            target: "http://www.ifanr.com",            changeOrigin: true,            pathRewrite: {                '^/rss/ifanr': '/feed'            }        }    }}

React中action.js

const rssSource = [ 'ithome', '36kr', 'ifanr']rssSource.map(source => {    fetch(`/rss/${source}`)    ...})

解决方案

已解决,这是个奇怪的问题!

webpack中配置:

devServer: {    proxy: {        "/fetch/ithome": {            target: "https://www.ithome.com",            changeOrigin: true,            pathRewrite: {                '^/fetch/ithome': '/rss/'            }        },        "/fetch/36kr": {            target: "http://36kr.com",            changeOrigin: true,            pathRewrite: {                '^/fetch/36kr': '/feed'            }        },        "/fetch/ifanr": {            target: "http://www.ifanr.com",            changeOrigin: true,            pathRewrite: {                '^/fetch/ifanr': '/feed'            }        }    }

action:

const rssSource = [ 'ithome', '36kr', 'ifanr']rssSource.map(source => {    fetch(`/fetch/${source}`)    ...})