: React앱이 서버로부터 받은 응답 데이터를 다시 브라우저롤 전달하는 방법을 쓴다.
=> 브라우저는 CORS 정책을 위반한지 모른다.
=> 브라우저를 proxy기능을 통해 속이는 것
webpack dev server proxy
"proxy"
값을 설정...
},
"proxy":"우회할 API주소"
}
React Proxy 사용법
npm install http-proxy-middleware --save
const { createProxyMiddleware } = require('http-proxy-middleware');
module.exports = function(app) {
app.use(
'/api', //proxy가 필요한 path prameter를 입력합니다.
createProxyMiddleware({
target: 'http://localhost:5000', //타겟이 되는 api url를 입력합니다.
changeOrigin: true, //대상 서버 구성에 따라 호스트 헤더가 변경되도록 설정하는 부분입니다.
})
);
};
npm run dev
, my-app에는 npm run start
를 하여 각각 서버를 연다.http-proxy-middleware 라이브러리를 설치한다.
npm install http-proxy-middleware --save
src 파일 안에서 setupProxy.js 파일을 생성하고 코드를 작성한다.
여러개의 도메인에서 응답을 받아와야하는 경우
const { createProxyMiddleware } = require('http-proxy-middleware');
module.exports = function(app) {
app.use(
'/api2', //proxy가 필요한 path prameter를 입력합니다.
createProxyMiddleware({
target: 'http://localhost:3070', //타겟이 되는 api url를 입력합니다.
changeOrigin: true, //대상 서버 구성에 따라 호스트 헤더가 변경되도록 설정하는 부분입니다.
})
);
app.use(
'/api', //proxy가 필요한 path prameter를 입력합니다.
createProxyMiddleware({
target: 'http://localhost:3080', //타겟이 되는 api url를 입력합니다.
changeOrigin: true, //대상 서버 구성에 따라 호스트 헤더가 변경되도록 설정하는 부분입니다.
})
);
};
=>컴포넌트 생성
=> 2개의 도메인에서 모두 응답을 받아오는 것을 볼수 있다ㅎㅎ