最新React使用 http-proxy-middleware解决多跨域问题(完美篇)

1. 安装 http-proxy-middleware

npm install http-proxy-middleware
#顺便安装一下 axios ,不用也可以,用fetch也一样。
npm install axios

2. src目录下创建一个 setupProxy.js文件

里面的'api'代表target的域名url代理后的url

const { createProxyMiddleware } = require('http-proxy-middleware');
module.exports = function (app) {
    app.use(
        '/api',
        createProxyMiddleware({
            target: 'https://eyesight.news.qq.com/',
            changeOrigin: true,
            pathRewrite: {
                '^/api': '',
            }
        })
    );
    app.use(
        '/apc',
        createProxyMiddleware({
            target: 'https://api.inews.qq.com/',
            changeOrigin: true,
            pathRewrite: {
                '^/apc': '',
            }
        })
    );
};

3. 发送axious请求

 getData() {
        // 开启loading特效
        const instance = axios.create({
            baseURL: '/api/sars/toheros',
            timeout: 3000,
            headers: {  'Content-Type': 'application/json' }
        });

        return new Promise((resolve, reject) => {
            console.log('开始调用')
            instance.get('')
                .then((response) => {
                    console.log(response)
                    resolve(response);

                })
                .catch((e) => {
                    reject(e)
                    console.log(e)
                })
        })
    }

4. 成功

  • 11
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值