react-create-app中设置proxy 代理

我遇到的问题:

"proxy" in package.json must be a string. //提示仅支持string 类型,不支持object类型
在reate-react-app v2升级版(webpack4.0)中,如果proxy不是字符串,直接报错

解决方案:

  1. 安装http-proxy-middleware管理包,cnpm http-proxy-middleware --save

  2. 在项目目录src/下新建setupProxy.js文件,然后写入如下代码:

    const proxy = require('http-proxy-middleware');
    
    module.exports = function (app) { 
        app.use(proxy('/api',{
            target:'http://localhost:3000/',
            secure:false,
            changeOrigin:true,
            pathRewrite:{
                "^/api":""
            }
        }))
     }```
    
  3. 项目中用axios 使用直接

     axios.get('/api/shopData').then(res=>{
                this.setState({ data:res.data.data  });
            })```
    
    

你可能感兴趣的:(react-create-app中设置proxy 代理)