개발을 하면서 가장 어이가 없을 때는 공식문서를 보고 그대로 했는데도
에러가 뜨는 경우이다.
프록시가 버전업이 되면서 기존의 proxy 객체를 createProxyMiddleware로 바뀌었다.
그래서 그 코드를 그대로 복사해 썼는데, yarn start를 하면 서버는 잘 켜지는데 프론트가 proxy is not a function이 뜨는 것이었다.
그래서 계속 구글링을 하던 도중, 오히려 이전버전의 코드를 쓰면 해결된다는 글을 봤다.
따라서 이전버전 코드를 찾아서 사용했더니 웬걸, 프록시 적용도 잘되고 에러도 안났다.
ㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎ
근데 또 다른 글 보면 오히려 이전 코드를 사용했다가 최신 코드로 바꿨더니 된다는 사람도 있다.
어쨌든
해결코드
const proxy = require('http-proxy-middleware');
module.exports = function(app) {
app.use(
'/api',
proxy({
target: 'http://localhost:5000',
changeOrigin: true,
})
);
};