JS URL 주소 자동 생성

강정우·2023년 10월 19일
0

JavaScript

목록 보기
47/53
post-thumbnail

JS에서 주소값 잡아주기

  • 뭐 정확히 말하자면 자동 생성보단 브라우저 기능 중
http://1.1.1.1/~~~
  • http req path에 앞에 주소값을 명시하지 않으면 자동으로 현재 연결된 ip 주소를 자동으로 넣어준다.
    그래서 api 작성시 경로를 /api/api2/create 으로 잡아주면 프로젝트에서는 자동으로 앞에
http://1.1.1.1/api/api2/create
  • 자기 자신의 ip(window의 hostname)을 붙여서 호출하는데,
    이를 이용하여 테스트 주소값을 하드코딩하는 것 보단 window 객체의 location 속성을 이용하면 아주 좋다.

  • 그래서 만약 당신이 axios.create() 메서드로 http req instance를 만든다고 한다면 아래와 같이 설정해주면 아주 편리하다.

export const instance_Api_A = axios.create({
  	// 여기는 개발용
    // baseURL: '/apiA/api',
  
    // 여기는 배포용
    baseURL: `http://${window.location.hostname}/api`,
    headers: {
        "Access-Control-Allow-Origin": `http://${window.location.hostname}`,
        'Access-Control-Allow-Credentials':"true",
    }
});
  • 이렇게 한 번 짜두면 서버가 어디에 설치되든 굳이 재빌드를 할 필요가 없다.

  • 참고로 CORS에러를 피하기위해 헤더에 Credentials 옵션을 넣어주면 된다. 그런데 이때, back-end에서도 with-credentials 어노테이션이 있어야 CORS를 해결할 수 있다.

profile
智(지)! 德(덕)! 體(체)!

0개의 댓글