• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

똑같은 함수에 다른 결과값이 나오는 이유?

22.05.10 21:01 작성 조회수 134

0

app.get('/', (req, res) => {
  res.send('Hello World!')
})

app.get('/abcd', (req, res) => {
  res.send('Hello World!')
})

app.get('/api/abcd', (req, res) => {
  res.send('api / abcd 입니다')
})
// src 하위에 setupProxy.js 
const proxy = require("http-proxy-middleware");

module.exports = function(app) {

  app.use(proxy('/api', { target: 'http://localhost:4000/'}));

};

 

axios.get('/') 을 주면 클라이언트의 html파일이 나와버리구요 

<!DOCTYPE html> <html lang="en"> <head>~~~~~~~~~~~~~~~~ </body> </html>

axios.get('/abcd')를 주면 /api/abcd 내용이 아닌  /abcd의 내용이 나와버립니다 ㅠㅠ

 

프록시 설정도 잘 해주어서 오류가 안나고 있는 상황인데 

왜이런 현상이 발생할까요?  혹시 이유를 알고 계신가요?

답변 1

답변을 작성해보세요.

0

선혁님의 프로필

선혁

질문자

2022.05.11

존안님의 강의에서는 프록시 미들웨어가 0.19버전인가 그렇고 
제 경우에는 버전2 이상입니다 

프록시 설정방법이 바뀌어서 문제가 있었고 
질문드렸던 사항은 제가 이해를 끝냈습니다! 

https://create-react-app.dev/docs/proxying-api-requests-in-development/#configuring-the-proxy-manually

같은 오류가 있으신분들은 여기를 참고하세요 

 

/api로 시작하는 주소로 요청을 보낼때는 5000번 포트로 자동으로 넘겨준다는 뜻입니다 


이렇게 새로 빌드해보면서 에러해결하고 왜 이런 라이브러리가 나왔고 다른 해결방식은 무엇이 있는지도 보고
공식문서 찾아보고 머리싸매고 하는경험이 순간에는 고통스러워도 머리에 잘 남더라구요 
새로 시작하시는분들도 저랑 같이 고통을 느껴보심은 어떨까요 흐흐~~   ^^