Μετάβαση από Tailwind CSS v3 σε v4: Ο Πλήρης Οδηγός
Ένας καθαρός οδηγός βήμα-προς-βήμα για την αναβάθμιση του styling σας, την κατάργηση αρχείων ρυθμίσεων και τη χρήση native μεταβλητών CSS.
Χωρίς πρόσφατο έλεγχο περιεχομένου. Οι εντολές και τα παραδείγματα ενδέχεται να έχουν αλλάξει από τη δημοσίευση.
Ένας καθαρός οδηγός βήμα-προς-βήμα για την αναβάθμιση του styling σας, την κατάργηση αρχείων ρυθμίσεων και τη χρήση native μεταβλητών CSS.
Μετάβαση από Tailwind CSS v3 σε v4: Ο Πλήρης Οδηγός
Το Tailwind CSS v4 αποτελεί τη μεγαλύτερη εξέλιξη του utility-first CSS από την ίδρυσή του. Βασισμένο στον υπερταχύτατο engine Lightning CSS (γραμμένο σε Rust), καταργεί την ανάγκη για διαμόρφωση μέσω JavaScript (tailwind.config.js) υπέρ μιας αμιγώς CSS-first αρχιτεκτονικής.
Αυτός ο οδηγός σας καθοδηγεί βήμα προς βήμα στην ασφαλή αναβάθμιση ενός υφιστάμενου project από v3 σε v4, ελαχιστοποιώντας τα regressions στο UI.
Βήμα 1: Αυτοματοποιημένη Αναβάθμιση με το Official Upgrade Tool
Η ομάδα του Tailwind δημιούργησε ένα επίσημο εργαλείο codemod που αναλύει τον κώδικά σας και μετατρέπει αυτόματα τις παλιές ρυθμίσεις σε modern CSS:
bash# Εκτέλεση του automated upgrade codemod npx @tailwindcss/upgrade@next
Το εργαλείο:
- Ενημερώνει τα
package.jsondependencies (tailwindcss,@tailwindcss/postcss). - Μεταφέρει τα tokens από το
tailwind.config.jsστην οδηγία@themeμέσα στο κύριο CSS αρχείο σας. - Αντικαθιστά παρωχημένα utilities (π.χ.
bg-opacity-*σε slash opacitybg-black/50).
Βήμα 2: Χειροκίνητη Διαμόρφωση globals.css
Στο Tailwind v3 είχατε τρεις ξεχωριστές οδηγίες (@tailwind base;, @tailwind components;, @tailwind utilities;). Στο v4, όλες αντικαθίστανται από μία μόνο γραμμή:
css/* src/app/globals.css */ @import "tailwindcss"; @theme { /* Αντιστοίχιση των παλιών JS theme overrides */ --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; --font-mono: 'JetBrains Mono', monospace; /* Custom Brand Colors με σύγχρονο OKLCH gamut */ --color-brand-primary: oklch(0.55 0.22 260); --color-brand-secondary: oklch(0.70 0.15 160); /* Breakpoints και Spacing */ --breakpoint-3xl: 120rem; --radius-card: 0.75rem; } /* Custom Variant για Dark Mode βασισμένο σε class */ @custom-variant dark (&:where(.dark, .dark *));
Βήμα 3: Ενημέρωση του PostCSS Setup
Εάν το project σας χρησιμοποιεί Next.js ή Vite με PostCSS, απλοποιήστε το postcss.config.mjs:
javascript// postcss.config.mjs export default { plugins: { '@tailwindcss/postcss': {}, }, }
[!NOTE] Το παλιό
autoprefixerδεν απαιτείται πλέον, καθώς το Lightning CSS χειρίζεται αυτόματα όλα τα vendor prefixes (webkit, moz) κατά τη μεταγλώττιση!
Βήμα 4: Διαγραφή Legacy Αρχείων Ρύθμισης
Μπορείτε πλέον να διαγράψετε με ασφάλεια:
bashrm tailwind.config.js tailwind.config.ts
Όλες οι ρυθμίσεις ζουν πλέον στο globals.css, προσφέροντας hot-reload σε λιγότερο από 15ms και πλήρη έλεγχο μέσω native CSS Custom Properties.
Βήμα 5: Κρίσιμες Αλλαγές & Breaking Changes (Gotchas)
| Παλιό Μοτίβο (v3) | Νέο Μοτίβο (v4) | Σημειώσεις |
|---|---|---|
@tailwind base/components/utilities | @import "tailwindcss"; | Ενιαία εισαγωγή cascade layers |
tailwind.config.js (theme.extend) | @theme { --color-*: ... } | Native CSS μεταβλητές |
bg-opacity-50 | bg-black/50 | Χρήση slash syntax παντού |
@layer utilities { ... } | @utility name { ... } | Καθαρότερη σύνταξη χωρίς nesting wrappers |
darkMode: 'class' | @custom-variant dark (...) | Ευέλικτος selector κανόνας |