정적 파일을 public 폴더에 관리하기 vs src 폴더에 관리하기

김현준·2024년 12월 22일
0

리액트 이모저모

목록 보기
24/27

1. 고민의 이유

현재 JSON 파일들을 public 폴더에 넣어 관리 중이다. 하지만 src 폴더에 정적 파일을 관리하면 더 편리하다는 의견이 있어 고민하게 되었다.


2. public` 폴더 사용하기

public 폴더는 다음과 같은 이유로 정적 파일을 보관하기에 적합하다:

  • 빌드 후 복사: build 폴더에 복사되어 빌드 이후에도 파일이 유지된다.
  • 손쉬운 접근: 클라이언트 측에서 정적 파일을 서버 없이 바로 접근할 수 있다.
  • 최적화된 파일: 빌드 전에 최적화되어 빌드 시간이 단축된다.

하지만, 보안이 중요한 파일은 public 폴더에 저장하지 않는 것이 좋다.


3. src` 폴더 사용하기

src 폴더는 다음과 같은 경우에 적합하다:

  • 코드와 밀접한 연관: 컴포넌트에서 사용하는 이미지 파일처럼 코드와 밀접하게 연관된 정적 파일.
  • 빌드 과정 필요: 이미지 파일의 크기 최적화나 파일 이름 변경 등 빌드 과정에서 처리해야 하는 파일.

src 폴더를 사용하면 코드와 관련된 정적 파일을 한 곳에 모아 코드 유지 보수를 더 쉽게 할 수 있다.


4. JSON 파일은 어디에 위치하는 것이 좋을까?

코드에서 사용하는 정적인 JSON 파일은 src 폴더에 저장하는 것이 좋다. 이유는 다음과 같다:

  • 코드와 함께 버전 관리: 코드와 밀접하게 연관된 JSON 파일은 버전 관리가 가능하다.
  • 빌드 시간 번들링: 빌드 과정에서 함께 번들링되므로 서버에서 JSON 파일을 따로 제공할 필요가 없다.
  • 보안 문제 해결: public 폴더에 저장된 JSON 파일은 클라이언트에서 접근 가능하므로 중요한 정보는 src 폴더에 저장해야 한다.

하지만 public 폴더에 JSON 파일을 저장해야 하는 경우도 있다

  • 외부 접근 허용: 공공 API 데이터를 제공할 때.
  • 빌드 과정 제외: 런타임에서 동적으로 생성되는 데이터.

5. 결론 (나의 선택은?)

현재 관리 중인 JSON 데이터는 다음과 같다:

  • 대한민국 도, 시, 군, 구
  • 대한민국 전화번호 및 휴대폰 번호 앞자리
  • 이메일 도메인 (예: gmail.com)
  • 카테고리 명 (큰 카테고리 20개, 작은 카테고리 1~4개)
  • 추천 매물 (프론트에서 관리)

추천 매물과 같이 외부 접근을 막아야 하며 코드와 버전 관리를 해야 하는 JSON 파일은 src 폴더에 저장하는 것이 적합하다고 판단했다.

출처: 자두의 개발일지

profile
기록하자

0개의 댓글

관련 채용 정보