在获取rss,设置了三个源:ithome
,36kr
,ifanr
,使用webpack-dev-server 的 proxy 配置跨域请求.
可是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}`) ...})