webpack proxy配置无法跨域?

在获取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}`)
    ...
})
阅读 6.2k
1 个回答

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

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}`)
    ...
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题