react 脚手架配置跨域代理

328 阅读1分钟

方法1

在 package.json 文件中添加 proxy 节点

{
  "proxy": "需要代理到的 url(后端 url)"
}

这个方法简单但不是很完美,而且只能代理一个 URL,交易使用方法2

方法2

在 src 文件夹下创建 setupProxy.js 文件

注意:这个文件里面得使用 commonjs 语法,不能使用 es6 语法

const proxy = require('http-proxy-middleware')

// 这里通常是导出一个对象,在这里导出一个函数
module.exports = function(app) {
  app.use(
    // 第一个参数,字符串前缀,发请求的接口在端口号之后,接口url之前添加前缀,就会代理到想代理的 url 上,否则不会走代理
    proxy('/api', {
      // 代理到哪个 url
      target: '需要代理的 url',
      // 控制服务器收到的请求头中 Host 字段的值
      changeOrigin: true
      // 把加的前缀在替换成空,重写请求路径,不重写就会请求路径错误
      pathRewrite: {
        "^/api": ""
      }
    })
  )
}