Tailwind CSS Academy · leksjon

Klassesortering og Prettier-plugin

Installer prettier-plugin-tailwindcss for automatisk å sortere verktøyklasser i en standardisert rekkefølge, noe som forbedrer lesbarheten og reduserer sammenslåingskonflikter.

Leksjon 2 av 413 trinn

Klassesortering og Prettier-plugin er en gratis leksjon i Tailwind CSS Academy på CoddyKit. Dette er leksjon 2 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Tailwind CSS Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Tailwind CSS Academy inneholder totalt 4 leksjoner.

Hvorfor rekkefølgen på klassene er viktig

Når flere Tailwind-utviklere arbeider på det samme prosjektet, vil verktøyklassene uunngåelig vises i ulik rekkefølge i forskjellige filer. Selv om rekkefølgen på klassene sjelden påvirker gjengivelsen, gjør inkonsekvent rekkefølge kodegjennomganger mer støyende og diff-utdata vanskeligere å lese. En konsekvent, kanonisk rekkefølge gjør det enklere for alle å forstå komponentstrukturen med et øyekast.

Introduksjon til prettier-plugin-tailwindcss

prettier-plugin-tailwindcss er det offisielle Tailwind CSS-programtillegget for Prettier, vedlikeholdt av Tailwind-teamet. Det sorterer automatisk verktøyklassene i markeringen etter en kanonisk rekkefølge hver gang Prettier formaterer en fil. Ingen manuell innsats er nødvendig – det er bare å lagre, så organiseres klassene på nytt.

npm install -D prettier prettier-plugin-tailwindcss

Konfigurere programtillegget

Etter installasjonen legger du til programtillegget i konfigurasjonsfilen for Prettier. Programtillegget fungerer automatisk uten ekstra alternativer i de fleste prosjekter. Hvis tailwind.config.js ligger på en uvanlig plassering, angir du plasseringen for Prettier med alternativet tailwindConfig.

// .prettierrc
{
  "plugins": ["prettier-plugin-tailwindcss"],
  "tailwindConfig": "./tailwind.config.js"
}

Den kanoniske sorteringsrekkefølgen

Programtillegget sorterer klasser etter Tailwinds anbefalte rekkefølge: layout-verktøy først (display, posisjon, overflow), deretter box model (bredde, høyde, padding, margin), så typografi, etterfulgt av visuelle egenskaper (bakgrunn, kantlinje, skygge), og til slutt interaktive tilstander og responsive varianter. Dette gjenspeiler hvordan CSS-spesifisitet arves.

<!-- BEFORE sorting -->
<div class="text-white hover:bg-blue-700 p-4 rounded-lg bg-blue-500 flex items-center gap-2">

<!-- AFTER prettier-plugin-tailwindcss sorts -->
<div class="flex items-center gap-2 rounded-lg bg-blue-500 p-4 text-white hover:bg-blue-700">

Kjøre Prettier på prosjektet

Når alt er konfigurert, kjører du Prettier på alle malfilene for å sortere dem samlet. Legg til et format-skript i package.json for enkel tilgang. Utviklere bør kjøre dette før hver commit, eller enda bedre: koble det til en pre-commit-hook med Husky.

// package.json
{
  "scripts": {
    "format": "prettier --write \"src/**/*.{html,jsx,tsx,vue}\"",
    "format:check": "prettier --check \"src/**/*.{html,jsx,tsx,vue}\""
  }
}

Integrasjon med editoren

For å få best mulig utvikleropplevelse konfigurerer du editoren til å formatere ved lagring. I VS Code installerer du Prettier-utvidelsen og angir editor.formatOnSave: true i innstillingene. Det betyr at klassene sorteres automatisk hver gang du lagrer en fil, slik at markupen holdes ryddig uten ekstra trinn.

// .vscode/settings.json
{
  "editor.formatOnSave": true,
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "[html]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  }
}

Pre-commit-hook med Husky

Automatisk formatering ved commit med Husky og lint-staged sikrer at ingen usorterte klasser kommer inn i repositoriet. Når en utvikler gjør en commit, formateres og stages bare de stage-de filene på nytt – en rask og målrettet operasjon, selv i store prosjekter.

npm install -D husky lint-staged
npx husky init

// package.json
{
  "lint-staged": {
    "*.{html,jsx,tsx,vue}": "prettier --write"
  }
}

Sortering i JSX- og TSX-filer

Programtillegget håndterer også JSX- og TSX-filer. Det sorterer klasser i className-attributter og strengargumenter til verktøy som clsx og tailwind-merge. Det bruker statisk analyse til å finne klassestrenger, så dynamisk konstruerte strenger forblir uendret – bare statiske strengliteraler sorteres.

// Before
const Button = () => (
  <button className="font-semibold text-white hover:bg-blue-700 rounded bg-blue-500 px-4 py-2">
    Click me
  </button>
);

// After sorting
const Button = () => (
  <button className="rounded bg-blue-500 px-4 py-2 font-semibold text-white hover:bg-blue-700">
    Click me
  </button>
);

Sortering i template literals og clsx

Programtillegget gjenkjenner klassestrenger som sendes til populære hjelpefunksjoner som clsx, cn og tailwind-merge når de kalles med strengargumenter. Dermed forblir den betingede klasselogikken sortert, selv når den er fordelt på flere argumenter, og komposisjonsmønstrene holdes ryddige og lesbare.

import { clsx } from 'clsx';

// The plugin sorts string arguments inside clsx calls
const classes = clsx(
  'rounded bg-blue-500 px-4 py-2 text-white',
  isActive && 'ring-2 ring-blue-300',
  isDisabled && 'cursor-not-allowed opacity-50'
);

Håndheving i CI med Prettier-sjekk

Legg til Prettiers --check-modus i CI-pipelinen for å få bygg til å feile når filer inneholder usorterte klasser. Dermed sørger du for at usortert kode ikke merges inn i main, selv om en utvikler hopper over pre-commit-hooken. Sjekken avsluttes med en statuskode som ikke er null når det finnes formateringsforskjeller.

# .github/workflows/ci.yml
jobs:
  format-check:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npm ci
      - run: npm run format:check

Håndtering av spesialtilfeller og egendefinerte klasser

Programtillegget sorterer kjente Tailwind-klasser, men lar ukjente klassenavn stå til slutt. Hvis du bruker egendefinerte utilities som er lagt til via programtillegg, konfigurerer du alternativet tailwindConfig slik at programtillegget kjenner til dem. Egendefinerte klasser som programtillegget ikke kan identifisere, vises fortsatt, men de forstyrrer ikke sorteringen av kjente utilities.

// .prettierrc — point to config so custom utilities are recognized
{
  "plugins": ["prettier-plugin-tailwindcss"],
  "tailwindConfig": "./tailwind.config.js"
}

// tailwind.config.js — custom utility plugin
plugins: [
  plugin(({ addUtilities }) => {
    addUtilities({ '.text-shadow': { 'text-shadow': '2px 2px 4px rgba(0,0,0,0.5)' } });
  }),
],

Kort sjekk

Test forståelsen din av konseptene fra Tailwind CSS Mastery i denne leksjonen.

Oppsummering av leksjonen

I denne leksjonen har du lært å installere og konfigurere prettier-plugin-tailwindcss for å automatisere klassesortering, integrere formatering ved lagring i editoren for en sømløs arbeidsflyt og håndheve sorterte klasser i CI med Prettiers sjekkmodus. Neste gang skal vi se på linting av Tailwind med ESLint.

Gratis å komme i gang

Lær deg HTML med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
30
Leksjoner
120

Ofte stilte spørsmål

Er leksjonen «Klassesortering og Prettier-plugin» gratis?

Ja – hele teksten i «Klassesortering og Prettier-plugin» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Tailwind CSS Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Tailwind CSS Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Klassesortering og Prettier-plugin»?

Installer prettier-plugin-tailwindcss for automatisk å sortere verktøyklasser i en standardisert rekkefølge, noe som forbedrer lesbarheten og reduserer sammenslåingskonflikter. Du øver på Tailwind CSS Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Tailwind CSS Academy?

Ingen tidligere erfaring er nødvendig. Tailwind CSS Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.

Hvor lang tid tar leksjonen «Klassesortering og Prettier-plugin»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Tailwind CSS Academy-leksjonen?

Ja. Alle Tailwind CSS Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Kontrollere CSS-resultatet
  2. Klassesortering og Prettier-plugin
  3. Linting av Tailwind med ESLint
  4. Teamkonvensjoner og stilguide
← Tilbake til Tailwind CSS Academy