개발자

웹 프론트엔드 디렉토리 구조 어떻게 가져가나요?

2024년 06월 11일조회 233

3년차 서버 개발자입니다 반 년 전 부터 리액트 넥스트 시작 해서 공부 중 입니다 몇 개의 프로젝트를 해도 이거 컴포넌트 분할이 되게 힘들고 정리가 안되네요 서버는 뭐 DDD 헥사고날 MSA 등등 있지만 저는 경험에서 모든 것을 의존성 기준으로 도메인을 분리하고 이에 대한 트레이드 오프나 규칙같은 것도 리드할 수 있을 정도인데,,,, 프론트는 재사용성을 강조하는데 뭘 재사용하는 지도 모르겠고 UI랑 기능이랑 분리하기 힘든 것도 있고 많은 설계방식도 있는데 저한테는 과도하다 생각하고 프론트도 도메인 기준으로 나누는 FSD도 있지만 프론트 특성상 UI랑 기능이랑 분할이 되게 힘들어보이고 아무리봐도 프론트는 사용자 중심으로 가야할 거 같은데 어떻게 해야될지 모르겠네요..

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

포크코딩님의 프로필 사진

App router 기준으로 답변 드립니다. 확장 하기에도 좋은 형태입니다. theo의 t3를 많이 참고했습니다. https://create.t3.gg/ # 디렉토리 구성 /src - app : 앱 라우터 루트입니다. ~ (public) ~ (protected) - components ~ global: 전역으로 쓰이는 컴포넌트 모음(헤더, 푸터, 팝업 등) ~ providers: contextAPI Wrapper ~ forms: 폼 관련 UI, 복잡한 경우가 간혹 있어 form은 따로 구분 ~ ui: 일반 재사용 UI, 외부 UI 라이브러리(shadcn, magic 등) - server: 서버에서 실행해야 하는 모든 것 ~ db.ts ~ queries.ts ~ actions.ts - lib: 유틸리티 함수 모음 - hooks: 커스텀 훅 모음 - constants: 별도 상수 모음 # 컴포넌트 나누기 기본적인 원칙은 리액트 공식 홈페이지에 있는 Thinking in React(https://react.dev/learn/thinking-in-react)에 기반합니다. 쉽게 정리하자면 - jsx 마크업을 재사용 해야 하는가? > 컴포넌트 만들기 - react hook을 사용하지 않는 로직이 필요한가? > 유틸리티 함수 작성 - react hook을 사용하는 로직이 필여한가? > 커스텀훅 작성

profile picture

익명

작성자

2024년 06월 12일

감사합니다!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!