부트캠프에서 만난 팀원들과 한번 더 팀프로젝트를 진행하게 되었다.(오예 🙌)
이번엔 디자인 시스템 배포가 목표!!
본격적으로 시작하기 전 알아야할 개념들에 대해서 먼저 학습하기로 했다.
npm install로 설치 -> node_modules 폴더에 전체 라이브러리 코드가 들어감 -> import해서 사용
import { Button } from '@mui/material';
➡️ node_modules 안의 코드를 참조하겠다는 의미. 이 코드는 node_modules 안에 있어 직접 수정 불가능 (버전 업데이트 시 변경사항 사라짐. 커스텀이 제한적)
이렇게 Button만 import 해도, 실제로는 다음과 같은 것들이 번들에 포함됨 ⤵️
Button이 의존하는 다른 내부 유틸리티들
전체 테마 시스템
모든 공통 유틸리티
Radix UI는 또 뭐야?! ➡️ "스타일 없이 오로지 기능만 미리 만들어둔 라이브러리"
Radix UI는 Headless UI 라이브러리로,
키보드 네비게이션, 접근성(a11y) 등 기능은 100% 구현되어 있지만 디자인/스타일 0%
작동은 하지만 화면에 아무것도 안 보임 👻따라서
TailwindCSS로 스타일까지 입힌 게 바로 👉 Shadcn/ui 👈
Shadcn/ui가 라이브러리라고는 하지만 기존의 라이브러리들과는 약간은 다르다고 할 수 있다.
컴포넌트 추가 방식
npx shadcn-ui@latest add [컴포넌트명] 명령어로 컴포넌트 추가components/ui 폴더에 실제 코드 파일( ex) button.tsx )이 생성됨장점
1. 용량이 작음
globals.css에서 전역 테마 색상 변경 가능더 많은 예시는 👉 Shadcn/ui 공식문서