웹 개발자라면, 누구나 겪게 되는 CORS(Cross-Origin Resource Sharing) Error...
프런트엔드 개발자 입장에서는 CORS Error가 뜨면... 백엔드 개발자에게,
CORS Error 떠요. 해결해줘요~가 일반적이고 아니면 proxy 설정해서 일단 자체적으로 개발하곤하는데...
울 회사 백엔드개발자들은~다 해줘서 매우 편함...
뭐 어찌되었든, Express에서는 CORS를 해결하기 위해서 아래처럼 처리를 한다.
app.use((req, res, next) => {
res.setHeader("Access-Control-Allow-Origin", "URL")
res.setHeader(
"Access-Control-Allow-Methods",
"OPTIONS, GET, POST, PUT, DELETE"
);
next()
...
});
아니면, cors 라이브러리를 설치하거나~
app.use(cors({
origin: ["url1", "url2", "url3"]
credentials:true
...
})
);
아! 그리고
CORS는 기본적으로 쿠키를 설정 및 보낼수가 없음. 그래서 axios
instance
만들때, withCredentials를 true
로 해줘야 한다. 물론 서버도 Access-Control-Allow-Credentials를 true
로 해줘야 하구~
라이브러리 쓰는걸로~