0
votes

I am implementing http proxy middleware in my react app , my setupProxy.js path's are not recognising . Below is my code please let me know if i am doing anything wrong.

App component

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 }));
}

output

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

enter image description here

When i start the application there were logs shown like below but not replacing the target enter image description here

1
@chimurai can you help me what i m doing wrong , have been stick with this issue aroung a day not sure whats wrong I am doing , - SakthiSureshAnand
did you create an express app, i mean in your setupProxy file, what is app ? - Mu-Majid
@Mu-Majid i did not create express() , because I have an rest api backend thats why . - SakthiSureshAnand
@JulianKleine yes checked copied setupProxy.js code from under this section Configuring the Proxy Manually from tht link only - SakthiSureshAnand

1 Answers

0
votes

With your code I can see that you have used create-react-app. You haven't shown your package.json. Did you add proxy to it? I think you might have missed it.

package.json

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