Next.js에서 Tailwind 문제는 설치 여부보다 연결 지점이 끊겼는지로
추적한다.
content 스캔, @tailwind 지시어,
layout.tsx import가 같은 체인에 있어야 한다.
content 배열에 포함되는지
본다.
tailwindcss, postcss,
autoprefixer
tailwind.config.js,
postcss.config.js
globals.css에 Tailwind 레이어를 선언한다.
src/app/layout.tsx에서 전역 CSS를
import한다.
npx create-next-app@latest
npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init -p
tailwind.config.js
postcss.config.js
@tailwind base;
@tailwind components;
@tailwind utilities;
import "./globals.css";
export default function RootLayout()
content
스캔 입력
./app/**/*.{js,ts,jsx,tsx,mdx} 같은 경로가 실제
컴포넌트 위치를 포함해야 JSX 안의 유틸리티 클래스가 최종 CSS
후보가 된다.
globals.css
CSS 입력
@tailwind base, @tailwind components,
@tailwind utilities 지시어가 Tailwind 레이어의 펼쳐질
위치를 정한다.
layout.tsx
앱 입력
| 증상 | 먼저 볼 곳 | 확인 기준 | 수정 방향 |
|---|---|---|---|
| 클래스가 전혀 먹지 않음 | layout.tsx |
전역 CSS import가 Root Layout에 있는지 확인한다. |
앱 최상단에서 globals.css를 한 번 가져온다.
|
| 일부 파일만 스타일 없음 | content |
해당 컴포넌트 경로와 확장자가 스캔 배열에 포함되는지 본다. | app, pages, components, mdx 경로를 실제 구조에 맞춘다. |
| 기본 스타일만 보임 | globals.css |
base, components, utilities 지시어가 모두 있는지 본다. | 누락된 Tailwind 지시어를 전역 CSS 진입점에 추가한다. |
| 클래스 문자열이 너무 길어짐 | 컴포넌트 경계 | 반복 조합이 의미 단위로 묶일 수 있는지 본다. | 작은 컴포넌트, variant helper, 공통 token으로 의도를 분리한다. |
content 스캔, @tailwind 지시어, Root Layout
import 순서가 맞아야 JSX의 유틸리티 클래스가 실제 CSS로 생성되고
화면에 적용된다.