728x90
들어가며
이전에 다크모드 기능을 추가하여 만들었던 noteapp은 axios를 이용해서 REST API를 호출했다.
데이터 서버는 json-server를 glitch를 통해 배포했고, axios에 사용한 URL도 glitch 사이트에서 배포한 URL을 넣었다.
나중에 이 프로젝트를 누군가에게 배포할 때, 보안상 데이터 서버의 url을 그대로 컴포넌트에 넣어두기엔 불안했다.
그래서 .env를 사용하여 나만의 암호키를 만들기로 했다.
.env 사용법
먼저 컴포넌트의 root 경로에 .env 파일을 생성한다.
# /.env
REACT_APP_API_URL = https://서버경로
# /src/App.js
const data = useFetch(`${process.env.REACT_APP_API_URL}/notes/`);
npm run start로 서버를 가동중이라면 확인을 위해서 서버를 껐다가 다시 run 해야한다.
보안을 위해 암호키(.env)를 사용했는데 Git으로 배포를 해버리면 안되니 .gitignore에 .env파일을 추가해준다.
상황별 .env
development 개발 env실행
# .env.development 파일 사용
npm start
production 배포 env실행
# .env.production 파일
npm run build
test 개발 env실행
# .env.test
npm run test
test를 제외한 env 실행
# .env.local 파일
script 명령어 별 env 파일
- npm start: .env.development.local, .env.local, .env.development, .env
- npm run build: .env.production.local, .env.local, .env.production, .env
- npm test: .env.test.local, .env.test, .env
'Study > React' 카테고리의 다른 글
[React] Next.js 란? (Next.js와 React.js의 차이점) (1) | 2024.07.24 |
---|---|
[React] 날짜 정렬 + 아이폰(IOS) 오류 (axios, sort) (3) | 2024.07.19 |
[React] css 말줄임 처리 & 리액트 툴팁 스타일링하기 (React Tooltip) (0) | 2024.07.16 |
[React] styled-components로 다크모드 만들기 (placeholder, after, before...) (0) | 2024.07.12 |
[React] styled-components로 다크모드 만들기(ThemeProvider/useContext) (0) | 2024.07.10 |