[React] 파일 경로를 깔끔하게 정리하기

2022. 8. 29. 07:43·React/React Basic

프로젝트의 규모가 커지다보면 가장 먼저 드는 생각이 파일들의 효율적인 정리이다.

정리할 수 있는 유용하지만 간단한 방법을 알아보자.

 

부모 폴더가 같은 Components

import { SignInModalBox } from "./SignPage/SignInModal";
import { SignUpModalBox } from "./SignPage/SignUpModal";

import { useTable } from "./Hooks/useTable";
import { useConfiguration } from "./Hooks/useConfiguration";

이 처럼 부모 폴더가 같은 컴포넌트를 사용할 때, 컴포넌트 하나 당 import 구문이 한 줄씩 추가된다.

이를 정리하기 위해 index.js(ts) 파일을 해당 폴더에 생성해 하위 파일들을 모두 import 및 export 해준다.

import useTable from './useTable';
import useConfiguration from './useConfiguration';

export {
	useTable,
    useConfiguration
};

 

특정 경로 단순화 하기

앞서 hooks 폴더의 하위 파일들을 Index로 묶어주었다. 이번에는 hooks 폴더의 경로를 단순화 해보자.

import { useDataTable, usePagination, useConfigurations } from '@hooks';

configuration을 적용하면 위와 같이 특정 폴더나 파일의 경로를 패키지처럼 단순화 시킬 수 있다.

jsconfig.json 혹은 tsconfig.json를 생성하거나 수정하여 적용할 수 있다.

 

{
    "compilerOptions": {
	...
    ...
    ..
    "paths": {
    "@utils/*": ["common/utils/*"],
    "@hooks": ["common/hooks/index.ts"],
    "@resources": ["common/constants/resources.ts"],
    "@types": ["common/types/index.js"],
    }
    },
}

특정 폴더나 파일을 경로를 단순화 할 수 있다.

저작자표시 비영리 변경금지 (새창열림)

'React > React Basic' 카테고리의 다른 글

[React] 불변성을 쉽게 유지하는 Immer lib  (1) 2021.08.08
[React] useContext 및 Context API  (0) 2021.08.08
[리액트] useReducer 이해하기  (0) 2021.08.07
[React] 불필요한 렌더링 최적화하기  (2) 2021.08.01
[React] useMemo와 useCallback  (0) 2021.08.01
'React/React Basic' 카테고리의 다른 글
  • [React] 불변성을 쉽게 유지하는 Immer lib
  • [React] useContext 및 Context API
  • [리액트] useReducer 이해하기
  • [React] 불필요한 렌더링 최적화하기
코딩으로세계정복
코딩으로세계정복
Connecting the dots
  • 코딩으로세계정복
    코딩으로 세계정복
    코딩으로세계정복
  • 전체
    오늘
    어제
    • 전체 (134)
      • Who am I (10)
        • Portfolio (4)
        • Reminiscence (5)
        • Oversea (1)
        • SiliconValley (0)
      • React (36)
        • React Basic (15)
        • React Tech (5)
        • JavaScript (7)
        • TypeScript (3)
        • CSS&HTML (3)
        • Firebase (3)
      • NodeJS (1)
        • NodeJS Basic (1)
      • Flutter (55)
        • Flutter Widget Design (5)
        • Flutter Widget Basic (8)
        • Flutter Tech (18)
        • Flutter Issue (7)
        • Flutter Web (6)
        • About Flutter (2)
        • Firebase (1)
        • Dev Env (1)
        • Dart (7)
      • Programming (31)
        • Web (1)
        • General (0)
        • Algorithm (25)
        • Python (1)
        • VS Code (2)
      • Django (0)
  • 블로그 메뉴

    • Who I AM
    • React
    • NodeJS
    • Flutter
    • Programming
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    자바스크립트
    JavaScript
    JSON
    플러터 웹
    리액트
    TypeScript
    웹
    flutter web
    react
    DP
    Python
    useTranslation
    포트폴리오
    Flutter
    HTML
    탐욕법
    Firebase
    Lingory
    알고리즘
    map
    CSS
    DART
    프로그래머스
    링고리
    Redux
    useRef
    useState
    플러터
    github
    파이썬
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코딩으로세계정복
[React] 파일 경로를 깔끔하게 정리하기
상단으로

티스토리툴바