728x90
300x250
통상 리액트 자체서버 포트는 3000 이라 다른 포트 (ex. 백엔드) 에서 값 전달하려고하면 CORS 이슈가 발생한다.
그때 해결할수있는 방안으로는
package.json 추가
"proxy": "http://localhost:8080",
createProxyMiddleware 이용
yarn add http-proxy-middleware
리액트 프로젝트 src 폴더 내에 setupProxy.js 생성 후 아래처럼 기재
const { createProxyMiddleware } = require('http-proxy-middleware');
module.exports = (app) => {
app.use(createProxyMiddleware('/api', {
target: 'https://APIURL.co.kr/RestApi/',
changeOrigin: true,
pathRewrite: { '^/api': '' }
})
);
}
위 처럼 생성하고나면 axios 등으로 url 을 호출할때 target 부분은 제외하고 선언해도 된다.
...생략
const [id, setId] = useState("");
const [pwd, setPwd] = useState("");
let user = {
id,
pwd
}
axios.post(`/api/id=test&pwd=1111`)
.then(response => {
console.log("성공");
//console.log(response.data);
}).catch(error => {
console.log("실패");
console.log(error);
})
...생략
테스트를 하다보니 소스가 변경되고나서 저장되면 바로바로 화면에 나타나는것과 달리 setupProxy.js 파일 경우엔
서버를 재시작해야 적용되는것을 확인 할 수 있었다.
728x90
300x250
'IT > React.js' 카테고리의 다른 글
[React] React 프로젝트 에러 정리 (unexpected token , 404 , cookie) (0) | 2022.01.13 |
---|---|
[React] local 과 build 시 스타일 다르게 보이는 부분 (0) | 2021.11.29 |
[React] useState, useEffect / useEffect 호출하기 (0) | 2021.10.13 |
[React] concat, map, filter 기초 예제 (0) | 2021.09.30 |
[React] 리액트 프로젝트 초기 세팅 (0) | 2021.09.23 |