styled-components로 프로젝트를 시작할 때 참고할 만한 사례

2023. 4. 14.·🎨 프론트엔드 공부/HTML & CSS

📍배경

styled-components로 팀 프로젝트를 시작했는데, 어떻게 폴더 구조를 정해야 할까?

다양한 글을 읽고 내가 내린 결론은...

 

📍폴더 구조

✅프론트엔드 기술 스택

- Next.js

- TypeScript

- Styled-components ⭐ 여기에 중점!

 

✅폴더 구조

/*

root
├─components
│  ├─common
│  │ ├─Button.styled.ts : 재사용 스타일 (에시)
│  │ ├─Input.styled.ts
│  ├─Header : 개별 컴포넌트 (예시)
│  │ ├─index.tsx : 로직
│  │ └─styled.ts : 스타일
│  ...
├─enum
│  └─index.tsx : 상수화를 위한 문자열 데이터 보관 폴더
├─pages
│  ├─404.tsx : /error 처럼 추가적인 파라미터가 없는 단일 페이지
│  ├─posts
│  │ ├─[slug].tsx : /posts/1... 페이지
│  │ └─index.tsx : /posts 페이지
│  ...
│  ├─_app.tsx
│  └─_documents.tsx
├─public : 정적 파일 보관
├─store : redux store
├─styles : global styles
│ ├─theme.ts : css 변수
│ ├─global.ts : global css
└─┴─fonts.module.css : font

*/

 

📍참고한 사례

코드샌드박스

components/Button/ 아래에

- index.tsx

- elements.tsx

식으로 구성

 

✅ styled (태그드 리터럴)를 elements 에 모아 놓고 index.tsx 에서 호출해서 씀

- components, style 과도 비교할 때, element 라는 표현이 제일 정확한 듯

- 그러나, jsx 문법을 사용하지 않으므로 ts로 바꿔도 될 듯

 

📍참고

코드샌드박스 깃허브

https://github.com/codesandbox/codesandbox-client/tree/master/packages/common/src/components/Button

 

GitHub - codesandbox/codesandbox-client: An online IDE for rapid web development

An online IDE for rapid web development. Contribute to codesandbox/codesandbox-client development by creating an account on GitHub.

github.com

 

코드샌드박스와 비슷한 구조의 깃허브

https://github.com/aitagame/aita_frontend/tree/develop/src/views/components

 

GitHub - aitagame/aita_frontend: AITA game frontend

AITA game frontend. Contribute to aitagame/aita_frontend development by creating an account on GitHub.

github.com

 

styled-components 사용중인 서비스

https://github.com/styled-components/awesome-styled-components

 

GitHub - styled-components/awesome-styled-components: A curated list of awesome styled-components resources 💅

A curated list of awesome styled-components resources 💅 - GitHub - styled-components/awesome-styled-components: A curated list of awesome styled-components resources 💅

github.com

 

styled-components best practice

https://itchallenger.tistory.com/893

 

styled-components best practices(모범 사례)

styled-components(emotion 등)을 잘 사용하는 방법을 정리해 봅니다. 1. variant와 as를 사용해 스타일 재사용 styled-component에서 스타일을 재사용 하는 방법은 보통 합성입니다. 이 경우 해당 컴포넌트의 특

itchallenger.tistory.com

 

'🎨 프론트엔드 공부/HTML & CSS' 카테고리의 다른 글
  • CSS 텍스트에 그라데이션 적용하기
  • 반응형 헤더 구현하기
  • [CSS Battle - 11] 1-11. Eye of Sauron
  • [CSS Battle - 10] 1-10. Cloaked Spirits
지식물원
지식물원
지식이 자라는 식물원!
  • 지식물원
    지식물원
    지식물원
  • 전체
    오늘
    어제
    • 분류 전체보기 (516)
      • 🎨 프론트엔드 공부 (253)
        • JS & TS (92)
        • HTML & CSS (22)
        • React & Next (49)
        • Vue & Nuxt (22)
        • 기타 (68)
      • 🤓 기술 학습 & 공부 기록 (116)
        • Node.js (0)
        • Python (37)
        • 백엔드 (0)
        • 딥러닝 (1)
        • 컴퓨터 일반 (72)
        • 개발 인프라 (6)
      • 👨‍💻 프로젝트 경험 (6)
        • Work (0)
        • Toy (6)
      • ⚙️ 개발 팁 & 노하우 (21)
        • 프론트엔드 (6)
        • 기타 (15)
      • ☕️ 커리어 & 인터뷰 준비 (88)
        • 코딩 테스트 (88)
      • 📰 기술 트렌드 & 생각 정리 (4)
      • 📚 기타 (25)
        • 마케팅 (15)
        • 비개발서적 (10)
  • 블로그 메뉴

    • 태그
  • 링크

  • 공지사항

    • 모바일 접속 시 코드 하이라이팅 깨질 때
  • 인기 글

  • hELLO· Designed By정상우.v4.10.3
지식물원
styled-components로 프로젝트를 시작할 때 참고할 만한 사례
상단으로

티스토리툴바