Style Dictionary: transformera och generera tokens
Konfigurera Style Dictionary för att transformera råa tokenfiler till CSS-variabler, JS-konstanter och en Tailwind-konfiguration.
Style Dictionary: transformera och generera tokens är en gratis lektion i React Academy på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för React Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i React Academy innehåller totalt 4 lektioner.
Vad är Style Dictionary
Style Dictionary (skapat av Amazon) är ett byggverktyg som tar designtokensdefinitioner i JSON-format och matar ut dem i valfritt målformat: CSS custom properties, JavaScript ES-moduler, Sass-variabler, iOS Swift-konstanter, Android XML-resurser och alla egna format som definieras. En enda källa till sanning, många utdataformat.
Installation och initiering
Installera med npm install --save-dev style-dictionary. Initiera en projektstruktur med npx style-dictionary init, vilket skapar en config.json (eller config.js) och en tokens/-katalog. Konfigurationen anger var Style Dictionary ska hitta tokenfilerna och var utdata ska skrivas.
Tokenformat i JSON
Style Dictionary använder en nästlad JSON-struktur där lövnoderna har egenskapen value. Till exempel: { "color": { "primary": { "500": { "value": "#3b82f6" } } } }. Sökvägen till värdet (color, primary, 500) blir tokennamnet efter transformeringen, vanligtvis formaterat som color-primary-500 eller --color-primary-500.
Köra bygget
Kör npx style-dictionary build --config config.json (eller style-dictionary build om det har konfigurerats i skripten i package.json). Style Dictionary läser alla tokenfiler från den konfigurerade källan, tillämpar transformeringar och skriver utdata till de konfigurerade målen. Fel i tokenformatet rapporteras tillsammans med filnamn och sökväg.
Definiera utdataplattformar
config.json definierar plattformar: css (matar ut en CSS-fil med custom properties), js (matar ut ett JS-objekt) och scss (matar ut Sass-variabler). Varje plattform anger utdatakatalog, filnamn, format (mallen) och vilka transformeringar (funktionerna för bearbetning av namn och värden) som ska tillämpas.
Inbyggda transformeringar
Style Dictionary innehåller inbyggda transformeringar: name/cti/kebab omvandlar den nästlade sökvägen till color-primary-500, name/cti/camel skapar colorPrimary500, size/rem omvandlar pixelvärden till rem och color/hex normaliserar färger till hexadecimalt format. Transformeringar kan kombineras och tillämpas i ordning.
Registrera egna transformeringar
Man kan registrera egna transformeringar med StyleDictionary.registerTransform(). Det kan till exempel vara en transformering som omvandlar pixelvärden till iOS-punkter eller en som lägger till ett företagsspecifikt prefix till alla tokennamn. Egna transformeringar ger full kontroll över hur värden bearbetas före utmatning.
Registrera egna format
Egna format definierar mallen för utdatafilen. StyleDictionary.registerFormat() tar emot ordboken med transformerade tokens och returnerar en sträng – filens innehåll. Man kan mata ut tokens som TypeScript-typer, som ett React-temaobjekt, som en utökning av en Tailwind-konfiguration eller i vilket annat format som helst som behövs i teknikstacken.
Integrera utdata i React
Efter bygget importerar man CSS-utdata i den globala stilmallen: @import './tokens/tokens.css'. Importera JS-utdata i komponenter eller i Tailwind-konfigurationen: import tokens from './tokens/tokens.js'. CSS ger custom properties för temabyte vid körning, medan JS ger typade konstanter för Tailwind och JavaScript-logik.
Tokenreferenser och alias
Style Dictionary stöder tokenreferenser med klammerparenteser: { "value": "{color.primary.500}" }. Detta skapar alias för semantiska tokens – den semantiska token refererar till en primitiv token. Vid bygget löser Style Dictionary referenserna och matar ut det slutgiltiga lösta värdet (eller en CSS-variabelreferens, beroende på formatet).
Automatisera med prebuild
Kör Style Dictionary som ett npm-skript för prebuild så att tokens alltid genereras om innan applikationen byggs. Lägg till "prebuild": "style-dictionary build" i package.json. Detta säkerställer att alla ändringar i token-JSON-filerna återspeglas i CSS- och JS-utdata innan React-bygget bearbetar dem.
Style Dictionary-transformering
Vad är syftet med transformeringar i Style Dictionary?
Lektionssammanfattning
Style Dictionary omvandlar token-JSON till valfritt utdataformat: CSS-variabler, JS-moduler, Sass, iOS och Android. Token-JSON använder nästlade objekt med lövnoder som innehåller value. Transformeringar bearbetar namn och värden (camelCase, px-till-rem), medan format definierar mallen för utdata. Tokenreferenser ({color.primary.500}) möjliggör semantiska alias. Automatisera med ett prebuild-skript så att tokens alltid är uppdaterade före React-bygget.
Lär dig React med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 88
- Lektioner
- 324
Vanliga frågor
Är lektionen ”Style Dictionary: transformera och generera tokens” gratis?
Ja – hela texten till ”Style Dictionary: transformera och generera tokens” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i React Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i React Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Style Dictionary: transformera och generera tokens”?
Konfigurera Style Dictionary för att transformera råa tokenfiler till CSS-variabler, JS-konstanter och en Tailwind-konfiguration. Ni övar på React Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig React Academy?
Du behöver inga förkunskaper. Utbildningen i React Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.
Hur lång tid tar lektionen ”Style Dictionary: transformera och generera tokens”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här React Academy-lektionen?
Ja. Varje React Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Vad är designtokens och varför är de viktiga
- Style Dictionary: transformera och generera tokens
- Tokens i Tailwind, CSS-variabler och CSS-in-JS
- Tokenarkitektur för flera teman och varumärken