React ts模式使用http-proxy-middleware代理时访问报404问题

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

React ts模式使用http-proxy-middleware代理时访问报404

create-react-app脚手架创建Recat应用,选择的是TypeScript

根据http-proxy-middleware文档 在src目录创建setupProxy.js,一直报错

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

module.exports = function(app) {
    app.use(
        createProxyMiddleware('/custom', {
            target: 'http://127.0.0.1:7001',
            changeOrigin: true, // needed for virtual hosted sites
            ws: true, // proxy websockets
            pathRewrite: {
                '^/custom': ''
            }
        })
    )
};

解决方式

将setupProxy.js复制一份后缀改成ts可正常访问(setupProxy.ts setupProxy.js)

http-proxy-middleware的坑

react项目启动,页面显示“无法访问网站”,原因之一是代理脚本(setupProxy.js)的语法与版本对应不上。

解决方法:

旧版本写法

在src下新建setupProxy.js;

const proxy = require("http-proxy-middleware")
module.exprots = function (app) {
    app.use(
        proxy('/api1', {
            target: 'http://localhost:5000',  
            changeOrigin: true,  // 控制服务器收到的请求头host字段的值
            pathRewrite: { '^/api1': '' } // 路径重写
        })
    )
}

新版本写法

在src下新建setupProxy.js;

const { createProxyMiddleware } = require('http-proxy-middleware')
module.exports = function (app) {
    app.use('/api', createProxyMiddleware({
        target: 'http://localhost:3000',
        changeOrigin: true,
        pathRewrite: {
            "^/api": "/api"
        }
    }))
}

注意!!!!!!

两种写法的前缀位置是不一样的,旧版本是作为proxy的参数,新版本是app.use的参数

总结

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

相关文章

  • 详解使用React进行组件库开发

    详解使用React进行组件库开发

    本篇文章主要介绍了详解使用React进行组件库开发,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • 深入理解React合成事件

    深入理解React合成事件

    React的合成事件是一个跨浏览器统一的事件系统,它基于原生DOM事件构建,通过封装不同浏览器的事件实现差异,为开发者提供一致的事件处理接口,具有一定的参考价值,感兴趣的可以了解一下
    2026-01-01
  • 如何强制刷新react hooks组件

    如何强制刷新react hooks组件

    这篇文章主要介绍了如何强制刷新react hooks组件问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • React中使用useState时状态更新不生效的原因及解决方法

    React中使用useState时状态更新不生效的原因及解决方法

    在使用 React 的 useState 钩子时,有时我们会遇到通过 set 方法更新状态后界面没有相应变化的情况,这可能是由于一些常见的问题导致的,本文将详细分析这些可能的原因,并提供相应的解决方案,需要的朋友可以参考下
    2025-12-12
  • React useEffect不支持async function示例分析

    React useEffect不支持async function示例分析

    这篇文章主要为大家介绍了React useEffect不支持async function示例分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • React父子组件间的传值的方法

    React父子组件间的传值的方法

    在单页面里面,父子组件传值是比较常见的,这篇文章主要介绍了React父子组件间的传值的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • React Native集成支付宝支付的实现方法

    React Native集成支付宝支付的实现方法

    这篇文章主要介绍了React Native集成支付宝支付的实现现,ativeModules是JS代码调用原生模块的桥梁。所以,我们只需要在原生工程中集成支付宝和微信支付的sdk,然后使用NativeModules调用即可,需要的朋友可以参考下
    2022-02-02
  • React DOM-diff 节点源码解析

    React DOM-diff 节点源码解析

    这篇文章主要为大家介绍了React DOM-diff节点源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • 基于react框架使用的一些细节要点的思考

    基于react框架使用的一些细节要点的思考

    下面小编就为大家带来一篇基于react框架使用的一些细节要点的思考。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • React Hooks与setInterval的踩坑问题小结

    React Hooks与setInterval的踩坑问题小结

    本文主要介绍了React Hooks与setInterval的踩坑,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04

最新评论