tailwind 란? css in js / atomic css
tailwind 사용법
taialwind 장점 과 단점.
생각
👉 Tailwind
- Tailwind가 무엇이냐 🤷🏻♀️ (이름이 좀 게임이름 같다. 근데 그 게임 안해봄ㅋㅋ ㅋ)
Tailwind CSS는 클래스 이름에 대한 모든 HTML 파일, JavaScript 구성 요소 및 기타 템플릿을 검색하고, 해당 스타일을 생성한 다음 정적 CSS 파일에 작성하여 작동합니다. 빠르고 유연하며 안정적이며 런타임이 없습니다. - 출처 : tailwind 공홈
번역 돌린거라 이거만 보면 빠르고 유연하고 안정적이고 런타임이 없다 정도만 알겠음;;
쉽게 말해 미리 세팅된 유틸리티 클래스를 활용하여 HTML 코드 안에서, CSS 스타일을 만들 수 있게 해주는 CSS 프레임워크 라고 한다.
챗지한테 설명요청함
craco.config.js는 Create React App (CRA) 프로젝트에서 웹팩(Webpack) 설정을 커스터마이징하거나 Babel, ESLint, PostCSS, 플러그인 등을 추가적으로 설정할 때 사용됩니다. CRA는 기본적으로 설정을 숨기고 있지만, craco(Create React App Configuration Override)는 이를 우회하여 설정을 수정할 수 있도록 도와줍니다.
craco.config.js의 주요 사용 이유
웹팩 설정 커스터마이징
CRA는 웹팩 설정을 직접 수정할 수 없지만, craco를 사용하면 이를 쉽게 수정할 수 있습니다. 예:
경로 별칭 설정 (alias)
플러그인 추가 (e.g., webpack-bundle-analyzer)
로더(loader) 설정 변경 (e.g., SCSS, LESS 지원)
Tailwind CSS와 같은 도구 통합
Tailwind CSS를 CRA와 통합하려면 PostCSS 설정이 필요한데, craco를 사용하면 이를 간단히 추가할 수 있습니다.
Babel 설정 추가/수정
Babel 플러그인을 추가하거나 설정을 변경하고자 할 때, craco를 통해 이를 간단히 처리할 수 있습니다.
환경별 설정 관리
craco는 개발/배포 환경에 따라 다른 설정을 적용할 수 있게 도와줍니다.
ESLint 설정 커스터마이징
CRA의 기본 ESLint 규칙을 덮어쓰거나 확장할 수 있습니다.
craco.config.js가 필요한 상황
CRA 기본 설정으로는 부족한 경우
경로 별칭을 설정하려고 할 때 (import { Button } from '@/components')
특정 플러그인이나 로더를 추가해야 할 때
PostCSS, Babel 설정을 변경해야 할 때
특정 도구와의 호환성 문제 해결
Tailwind CSS, LESS, SCSS 등의 추가 설정이 필요한 경우
CRA와 호환되지 않는 라이브러리를 사용할 때
프로젝트 요구사항에 맞춘 설정이 필요할 때
번들 최적화, 소스맵 설정, 코드 분할 등 고급 설정이 필요한 경우
사용하지 않아도 괜찮은 경우
CRA 기본 설정이 프로젝트 요구사항을 충족하는 경우
단순한 웹 애플리케이션에서는 CRA의 기본 설정만으로도 충분히 개발이 가능합니다.
복잡한 설정이 필요하지 않은 경우
경로 별칭, 특정 플러그인 추가 등 추가 설정을 필요로 하지 않는다면 craco 없이도 문제없이 개발할 수 있습니다.
craco를 사용해야 하는지 여부 판단 기준
사용해야 하는 경우:
프로젝트에서 경로 별칭, Tailwind CSS 통합, 또는 특정 웹팩 설정 변경이 필요하다면 사용하세요.
사용하지 않아도 되는 경우:
CRA 기본 설정만으로 프로젝트 요구사항이 충족된다면 굳이 추가로 도입할 필요가 없습니다.
대안
만약 CRA를 사용하면서 더 많은 설정 커스터마이징이 필요하다면, eject 명령을 사용하여 CRA 설정을 완전히 노출시키는 방법도 있지만, 이는 복잡성과 유지보수 비용을 증가시킵니다. craco는 이러한 eject의 대안으로 간단히 설정을 확장할 수 있도록 도와줍니다.
// craco.config.js
module.exports = {
style: {
postcss: {
plugins: [require('tailwindcss'), require('autoprefixer')],
},
},
};
Tailwind
https://velog.io/@jwhan/React-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8%EC%97%90-Tailwind-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0