首页 > 解决方案 > setupProxy.js 路径在使用 http 代理中间件的 reactjs 应用程序中无法识别

问题描述

我正在我的 react 应用程序中实现 http 代理中间件,我的 setupProxy.js 路径无法识别。以下是我的代码,如果我做错了什么,请告诉我。

应用组件

class App extends React.Component {
  test = () => {
// I dont have any thing which is running in "/api"  
// Simply called fetch with "/api" because setupPorxy.js  is looking my request or not 
    fetch("/api")
      .then(res => {
        alert('test pri')
        console.log('res', res)
      })
  }
  render() {
    return (
      <div className="App">
        <button onClick={this.test}>Test</button>
      </div>
    );
  }
}

setupProxy.js

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

\\ I dont have any thing running on localhost 5000 , want to check the request is modified or not 

module.exports = (app) => {
    app.use(createProxyMiddleware('/api', { target: 'http://localhost:5000', changeOrigin: true }));
}

输出

But ended with 404 not found in browser console like http://localhost:3000/api (404 not found)

在此处输入图像描述

当我启动应用程序时,有如下所示的日志,但没有替换目标 在此处输入图像描述

标签: javascriptreactjshttp-proxyhttp-proxy-middleware

解决方案


通过您的代码,我可以看到您使用了 create-react-app。你还没有显示你的 package.json。你添加代理了吗?我想你可能错过了。

包.json

{
   ....
   "proxy": "http://localhost:5000",
 }

推荐阅读