react项目的跨域处理

1. 下载依赖包

npm i http-proxy-middleware --save

2. 在src根目录下新建setupProxy.js 文件(注意setupProxy文件名不要拼错,否则不生效!!!

setupProxy.js

const { createProxyMiddleware } = require('http-proxy-middleware');

module.exports = function (app) {
    app.use(
        createProxyMiddleware('/api', {   // 匹配所有带'/api'的接口地址进行代理转发
            target: 'http://xxx',  // 代理地址
            changeOrigin: true,
            pathRewrite: {
                '^/api': ''  // 将请求地址中的'/api'重写为空再请求接口(也就是去掉/api)
            }
        })
    )
}

ps:这是1.x+版本写法,低版本不能这样写!

匹配地址写法区别:

'/api/*'  // 只匹配/api后面一级路由地址(/api/xxx),如果是/api/xxx/xxx/...则匹配不到。

'/api'    // 匹配带有/api的所有路由地址,一级多级都能匹配到。

3. 我们在项目中的要转发的接口都加上'/api',这样代理配置就可以匹配到我们的接口了,这样我们就完成了项目接口的跨域处理!

 

posted @ 2022-04-01 12:31  抽风的皮鞭  阅读(550)  评论(0编辑  收藏  举报