원래 npm start로 이용하고 있던 중 API 서버가 개발 서버와 실서버로 분리되기 때문에 이를 구분해 환경설정을 하고자 했다.
1. 환경변수를 다르게 설정 (.env 파일)
env 파일 2개를 생성함
.env.development //개발
.env.production //실서버
각 API를 통신하는 URL을 ~~만 다르게 작성(.dev 서버와 실서버는 다르기 때문)
REACT_APP_API_URL='~~'
2. env-cmd 를 설치( 환경변수에 따라 설정 적용)
npm i env-cmd
3. package.json 에서 start, build 설정
"scripts": {
"start": "env-cmd -f .env.development craco start",
"start:dev": "env-cmd -f .env.development craco start",
"start:prod": "env-cmd -f .env.production craco start",
"build:dev": "env-cmd -f .env.development craco build",
"build:prod": "env-cmd -f .env.production craco build",
...
start or start:local =>내 컴퓨터
:dev => 개발서버
:prod => 실서버
▼ 참고) 원래 package.json
4. 사용
npm run start:dev 하면 .env.development에 작성한 환경변수로 적용되고
npm run start:prod 하면 .env.production에 작성한 거로 적용됨
'React' 카테고리의 다른 글
[React] Email.js 를 사용하여 Form 이메일 전송하기 (2) | 2023.05.30 |
---|---|
[React] .jsx 생략하고 import시 찾을 수 없다는 오류 (0) | 2023.05.27 |
[React] package.json 종속성 업데이트 (0) | 2023.05.23 |
[React] axios, async-await 사용시 try-catch 주의점(catch-비즈니스 로직 x) (1) | 2023.05.19 |
[React] 이미지 파일은 public폴더 vs src폴더 어디에 넣을까 (0) | 2023.05.18 |