react反向代理使用http-proxy-middleware问题

 更新时间:2024年07月12日 09:58:21   作者:jenie  
这篇文章主要介绍了react反向代理使用http-proxy-middleware问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

简介

http-proxy-middleware用于后台将请求转发给其它服务器。

安装

$ npm install --save-dev http-proxy-middleware

使用

在src同级目录创建setupProxy.js 如图所示

const { createProxyMiddleware } = require('http-proxy-middleware');  //注意写法,这是1.0以后的版本,最好按抄

module.exports = function (app) {
    app.use(createProxyMiddleware('/api',
        {
            target: 'http://ip:8000/',
            pathRewrite: {
                '^/api': '',
            },
            changeOrigin: true,
            secure: false, // 是否验证证书
            ws: true, // 启用websocket
        }
    ));
};

以上表达的意思是,把/api 代理到 http://ip:8000/ 到这个网址上,重写一定要,如果不写

pathRewrite: {
    '^/api': '',
},

会异常,会直接代理到http://ip:8000/api上去了,不是我们要的结果

测试

handle_click = ()=>{
    let t = this;
    fetch("/api/org/all", {method: 'GET'}).then(
        function (res) {
            console.log(res);
            res.json().then(function (data) {
                    console.log(data);
                    t.setState({
                        news:data
                    });
                }
            )
        });
};

其中/api/org/all 表达的网址的数据是

{
    "total": 1,
    "list": [{
        "id": "64",
        "name": "湖南长沙",
        "code": "hncs",
        "type": "试装"
    }],
    "pageNum": 1,
    "pageSize": 10,
    "size": 1,
    "startRow": 1,
    "endRow": 1,
    "pages": 1,
    "prePage": 0,
    "nextPage": 0,
    "isFirstPage": true,
    "isLastPage": true,
    "hasPreviousPage": false,
    "hasNextPage": false,
    "navigatePages": 8,
    "navigatepageNums": [1],
    "navigateFirstPage": 1,
    "navigateLastPage": 1,
    "firstPage": 1,
    "lastPage": 1
}

完整代码。

其中用到了antd mobile的东西,选择重要的看即可

import React, {Component} from 'react';
import { Picker, List, WhiteSpace } from 'antd-mobile';
import { createForm } from 'rc-form';

const prjList = [
    {
        label: "柳州项目",
        value: '1',
    },
    {
        label: "南宁项目",
        value: '2',
    },
];


class Add extends React.Component {
    state = {
        prjList: [],
        cols: 1,
        pickerValue: [],
        asyncValue: [],
        visible: false,
        colorValue: ['#00FF00'],
    };
    onChangeColor = (color) => {
        this.setState({
            colorValue: color,
        });
    };

    handle_click = ()=>{
        let t = this;
        fetch("/api/org/all", {method: 'GET'}).then(
            function (res) {
                console.log(res);
                res.json().then(function (data) {
                        console.log(data);
                        t.setState({
                            news:data
                        });
                    }
                )
            });
    };
    render() {
        const { getFieldProps } = this.props.form;
        return (<div>

            <WhiteSpace size="lg" />
            <List style={{ backgroundColor: 'white' }} className="picker-list">
                <Picker
                    data={prjList}
                    value={this.state.colorValue}
                    cols={1}
                    onChange={this.onChangeColor}
                >
                    <List.Item arrow="horizontal">选择项目</List.Item>
                </Picker>

            </List>
            <WhiteSpace size="lg" />
            <button onClick={this.handle_click}>button</button>
        </div>);
    }
}
const Wrapper = createForm()(Add);
export default class OrderAdd extends Component {
    render() {
        return (
            <Wrapper />
            )
    }
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • React中引入less、less-loader问题

    React中引入less、less-loader问题

    这篇文章主要介绍了React中引入less、less-loader问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • React中Key属性作用

    React中Key属性作用

    react中的key属性,它是一个特殊的属性,它是出现不是给开发者用的,而是给React自己使用,有了key属性后,就可以与组件建立了一种对应关系,本文主要介绍了React中Key属性作用,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • 详解vant2 自动检查表单验证 -validate

    详解vant2 自动检查表单验证 -validate

    这篇文章主要介绍了vant2 自动检查表单验证 -validate,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-10-10
  • React Native开发封装Toast与加载Loading组件示例

    React Native开发封装Toast与加载Loading组件示例

    这篇文章主要介绍了React Native开发封装Toast与加载Loading组件,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • 详解React如何实现代码分割Code Splitting

    详解React如何实现代码分割Code Splitting

    这篇文章主要为大家介绍了React如何实现代码分割Code Splitting示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • 优雅的在React项目中使用Redux的方法

    优雅的在React项目中使用Redux的方法

    这篇文章主要介绍了优雅的在React项目中使用Redux的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • react组件实例属性state详解

    react组件实例属性state详解

    这篇文章主要介绍了react组件实例属性state,有状态state的组件称作复杂组件,没有状态的组件称为简单组件,状态里存储数据,数据的改变驱动页面的展示,本文结合实例代码给大家详细讲解,需要的朋友可以参考下
    2023-02-02
  • 使用React.forwardRef传递泛型参数

    使用React.forwardRef传递泛型参数

    这篇文章主要介绍了使用React.forwardRef传递泛型参数方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • react中使用redux-persist做持久化储存的过程记录

    react中使用redux-persist做持久化储存的过程记录

    这篇文章主要介绍了react中使用redux-persist做持久化储存的相关资料,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2024-01-01
  • 详解React 元素渲染

    详解React 元素渲染

    这篇文章主要介绍了React 元素渲染的相关资料,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07

最新评论