Notice
Recent Posts
Recent Comments
Link
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags
more
Archives
Today
Total
관리 메뉴

우당탕탕 개발일지

리액트 폴더 구조 본문

Front-end/React

리액트 폴더 구조

YUDENG 2023. 8. 6. 22:07

리액트를 사용하여 작업을 할 때 수많은 파일들과 기능, 컴포넌트를 관리하는 것은 정말 복잡한 일이다. 그렇기에 폴더 구조를 미리 정해두는 것은 코드의 유지 및 보수에 큰 도움이 된다.

 

최초 생성 디렉토리

 

  • node_modules
    • CRA를 구성하는 모든 패키지 소스 코드가 존재하는 폴더
  • package.json
    • CRA 기본 패키지 외 추가로 설치된 라이브러리/패키지 정보(종류, 버전)가 기록되는 파일
    • 모든 프로젝트마다 package.json이 하나씩 존재

      [ dependencies ]
      • 리액트를 사용하기 위한 모든 패키지 리스트, 버전 확인이 가능.
      • 실제 코드는 node.modules 폴더에 존재한다.

      [ scripts ]
      • start : 프로젝트 development mode(개발 모드) 실행을 위한 명령어.
        → npm run start
      • build : 프로젝트 production mode(배포 모드) 실행을 위한 명령어.
        → 서비스 상용화.
  • package-lock.json (or yarn.lock)
    • 프로그래머가 관리할 필요가 없고 npm 이나 yarn이 알아서 관리해주는 파일들
    • lock파일은 해당 프로젝트에 설치한 패키지 , 그 패키지와 관련된 모든 패키지의 버전정보를 포함한다.
  •  .gitignore
    • .gitignore 파일에 github에 올리고 싶지 않은 폴더와 파일을 작성할 수 있다.
    • push를 해도 .gitignore 파일에 작성된 폴더와 파일은 올라가지 않는다.
  • public
    • index.html을 포함하고 있다.
    • 가상 DOM을 위한 html파일 (빈 껍데기 파일)
    • <div id="root><div>
  • src
    • React의 시작
    • index.js을 포함하고 있다.
    • ReactDOM.render 함수의 인자는 두개이다. 첫 번째 인자는 화면에 보여주고 싶은 컴포넌트, 두 번째 인자는 화면에 보여주고 싶은 컴포넌트의 위치
    • ReactDOM.render(<App />, document.getElementById('root'))
  • App.js
    • 현재 화면에 보여지고 있는 초기 컴포넌트
    • React Router를 설치하면 컴포넌트가 최상위 컴포넌트로 App.js 컴포넌트 자리에 위치하게 된다.

각 디렉토리 구성

 

  • <assets>
    • 서비스에서 사용하는 폰트 정의
  • <constants>
    • 서비스에서 사용하는 스타일 상수 정의
    • fonstStyle.constant.ts
    • fontWeight.constant.ts
  • <components>
    • 서비스에서 사용하는 컴포넌트 구성요소 정의
    • [screen] - Screen.tsx (Header, Children, Footer)
    • [text] - Text.tsx
  • <hooks>
    • [axios] - useSetAxiosInstanceDefaultsAccessToken.ts
    • [screens]
      • [main] - Text.tsx
      • [auth] - Join.tsx / Layout.tsx / Login.tsx / Signup.tsx
      • [common]
    • [services]
      • [auth] - postLogin.service.ts
728x90

'Front-end > React' 카테고리의 다른 글

React Query - 2  (0) 2023.09.14
React Query - 1  (0) 2023.09.02
Redux - 사용법  (0) 2023.08.05
Redux - 전역 상태 관리  (0) 2023.07.01
JWT 기반 인증 시스템  (0) 2023.06.04