美文网首页
react配置proxy代理

react配置proxy代理

作者: A_dfa4 | 来源:发表于2021-03-15 11:47 被阅读0次
  1. 创建代理配置文件
在src下创建文件: src/setupProxy.js
  1. 编写setupProxy配置具体规则:
const proxy = require('http-proxy-middleware')

module.exports = function (app) {
  app.use(
    proxy('/api1', {  // 遇见/api1前缀的请求会触发该代理配置
      target: 'http://localhost:5000',  // 请求转发给谁
      // changeOrigin: true,  // 默认值 false  控制服务器收到的响应头中host字段的值 加上req.HOST值localhost:5001 不加是localhost:3000  最好加上
      // pathRewrite: {'^/api1': '' }  // 重写请求路径 不加是 /api1/students 加上是 /students
    }),
    proxy('/api2', {
      target: 'http://localhost:5001',
      changeOrigin: true,
      pathRewrite: {'^/api2': '' }
    })
  )
}
import axios from 'axios'
import React, { Component } from 'react'

export default class App extends Component {
  getStudentData = () => {
    axios.get('http://localhost:3000/api1/students').then(res => {
      console.log('成功', res.data )
    }, err => {
      console.log('失败', err)
    })
  }

  getCarData = () => {
    axios.get('http://localhost:3000/api2/cars').then(res => {
      console.log('成功', res.data )
    }, err => {
      console.log('失败', err)
    })
  }

  render() {
    return (
      <div>
        App....
        <button onClick={this.getStudentData}>点我获取数据</button>
        <button onClick={this.getCarData}>点我获取骑车数据</button>
      </div>
    )
  }
}

server1 :5000

const express = require('express')
const app = express()

app.use((req,res, next) => {
  console.log("有请求")
  console.log(req.get('Host'))
  console.log('地址',req.url)
  next()
})

app.get('/students', function (req, res) {
  const students = [
    {id: 001, name: 'tom',age:18},
    {id: 002, name: 'jerry',age:19},
    {id: 003, name: 'tony',age:120},
  ]
  res.send(students)
})

app.listen(5000, () => console.log('Example app listening on port 5000!'))

server2 5001

const express = require('express')
const app = express()

app.use((req,res, next) => {
  console.log("有请求")
  console.log(req.get('Host'))
  console.log('地址',req.url)
  next()
})

app.get('/cars', function (req, res) {
  const cars = [
    {id: 001, name: '奔驰',price:199},
    {id: 002, name: '马自达',price:109},
    {id: 003, name: '捷达',price:120},
  ]
  res.send(cars)
})
app.listen(5001, () => console.log('Example app listening on port 5001!'))

相关文章

  • react配置代理,跨域

    1 react porxy 只代理一个 2 react配置多个代理,跨域 1):安装http-proxy-midd...

  • react配置proxy代理

    创建代理配置文件 编写setupProxy配置具体规则: server1 :5000 server2 5001

  • React跨域请求

    在package.json文件中配置proxy信息React 2.0及以下的版本: 新版本支持配置多个代理 使用h...

  • nginx配置反向代理

    反向代理配置 说明:proxy_pass指令,代理后端服务器的地址。 配置代理常用指令 proxy_redirec...

  • 抓包工具 Charles 使用

    配置步骤 Proxy --> macOS Proxy 先打开代理,使得mac上所有请求都通过Charles进行代理...

  • charles知识点总结

    配置与测试,常用功能如下: 配置代理: proxy--->proxy settings 设置端口 访问控制: pr...

  • centos7 zabbix3.2 proxy的搭建

    流程安装proxy--->监控proxy--->配置代理的mariadb--->添加proxy--->使用 安装p...

  • zabbix_proxy 代理

    一.zabbix_proxy 监视tomcat 1.基础配置 2.proxy代理配置文件 (1)zabbix-s...

  • 使用apache 2.2 mod_proxy做tomcat we

    apache的配置 mod_proxy 支持转发代理和反向代理,所以配置反向代理时首先需要关闭转发代理,关闭方式见...

  • react配置跨域

    在react中配置跨域: 在config文件里找到proxy,进行以下配置

网友评论

      本文标题:react配置proxy代理

      本文链接:https://www.haomeiwen.com/subject/dtckcltx.html