Style Dictionary: transformowanie i generowanie tokenów
Skonfigurują Państwo Style Dictionary tak, aby przekształcał surowe pliki tokenów w zmienne CSS, stałe JS i konfigurację Tailwind.
Style Dictionary: transformowanie i generowanie tokenów to bezpłatna lekcja React Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej React Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs React Academy zawiera 4 lekcji w sumie.
Czym jest Style Dictionary
Style Dictionary, utworzone przez Amazon, to narzędzie do budowania, które pobiera definicje tokenów projektowych w formacie JSON i generuje je w dowolnym formacie docelowym: niestandardowych właściwościach CSS, modułach JavaScript ES, zmiennych Sass, stałych Swift dla systemu iOS, zasobach XML dla systemu Android oraz dowolnym zdefiniowanym przez Ciebie formacie. Jedno źródło prawdy, wiele wyników.
Instalacja i inicjalizacja
Zainstaluj pakiet za pomocą npm install --save-dev style-dictionary. Zainicjalizuj strukturę projektu poleceniem npx style-dictionary init, które utworzy plik config.json (lub config.js) oraz katalog tokens/. Konfiguracja informuje Style Dictionary, gdzie znajdują się pliki tokenów i gdzie zapisywać wyniki.
Format JSON tokenów
Style Dictionary używa zagnieżdżonej struktury JSON, w której węzły końcowe mają właściwość value. Na przykład: { "color": { "primary": { "500": { "value": "#3b82f6" } } } }. Ścieżka do wartości (color, primary, 500) staje się po transformacji nazwą tokenu, zwykle zapisywaną jako color-primary-500 lub --color-primary-500.
Uruchamianie procesu budowania
Uruchom npx style-dictionary build --config config.json (lub style-dictionary build, jeśli skonfigurowano je w skryptach package.json). Style Dictionary odczytuje wszystkie pliki tokenów ze skonfigurowanego źródła, stosuje transformacje i zapisuje wyniki w skonfigurowanych miejscach docelowych. Błędy w formacie tokenów są zgłaszane wraz z nazwą pliku i ścieżką.
Definiowanie platform wyjściowych
Plik config.json definiuje platformy: css (generuje plik CSS z własnymi właściwościami), js (generuje obiekt JS), scss (generuje zmienne Sass). Każda platforma określa katalog wyjściowy, nazwę pliku, format (szablon) oraz transformacje (funkcje przetwarzające nazwę i wartość), które należy zastosować.
Wbudowane transformacje
Style Dictionary zawiera wbudowane transformacje: name/cti/kebab przekształca zagnieżdżoną ścieżkę w color-primary-500, name/cti/camel generuje colorPrimary500, size/rem przelicza wartości pikselowe na rem, a color/hex normalizuje kolory do zapisu szesnastkowego. Transformacje można łączyć i są stosowane w określonej kolejności.
Rejestrowanie niestandardowych transformacji
Niestandardowe transformacje można rejestrować za pomocą StyleDictionary.registerTransform(). Możesz na przykład utworzyć transformację przeliczającą wartości pikselowe na punkty iOS albo dodającą do wszystkich nazw tokenów prefiks specyficzny dla firmy. Niestandardowe transformacje zapewniają pełną kontrolę nad przetwarzaniem wartości przed wygenerowaniem wyników.
Rejestrowanie niestandardowych formatów
Niestandardowe formaty definiują szablon pliku wyjściowego. StyleDictionary.registerFormat() otrzymuje słownik przekształconych tokenów i zwraca ciąg znaków — zawartość pliku. Możesz generować tokeny jako typy TypeScript, obiekt motywu React, rozszerzenie konfiguracji Tailwind lub dowolny inny format wymagany przez Twój stos technologiczny.
Integracja wyników z Reactem
Po zbudowaniu zaimportuj wynik CSS w globalnym arkuszu stylów: @import './tokens/tokens.css'. Zaimportuj wynik JS w komponentach lub konfiguracji Tailwind: import tokens from './tokens/tokens.js'. CSS udostępnia własne właściwości do zmiany motywu w czasie działania, a JS — stałe o określonych typach na potrzeby Tailwind i logiki JavaScript.
Odwołania do tokenów i aliasy
Style Dictionary obsługuje odwołania do tokenów za pomocą nawiasów klamrowych: { "value": "{color.primary.500}" }. Tworzy to semantyczne aliasy tokenów — token semantyczny odwołuje się do tokenu prymitywnego. Podczas budowania Style Dictionary rozwiązuje odwołania i generuje końcową wartość (lub odwołanie do zmiennej CSS, zależnie od formatu).
Automatyzacja za pomocą prebuild
Uruchamiaj Style Dictionary jako skrypt npm prebuild, aby tokeny zawsze były generowane ponownie przed zbudowaniem aplikacji. Dodaj "prebuild": "style-dictionary build" do pliku package.json. Dzięki temu każda zmiana w plikach JSON tokenów zostanie uwzględniona w wynikach CSS i JS, zanim proces budowania Reacta je przetworzy.
Transformacja w Style Dictionary
Do czego służą transformacje w Style Dictionary?
Podsumowanie lekcji
Style Dictionary przekształca JSON tokenów w dowolny format wyjściowy: zmienne CSS, moduły JS, Sass, iOS i Android. JSON tokenów używa zagnieżdżonych obiektów z węzłami końcowymi zawierającymi value. Transformacje przetwarzają nazwy i wartości (camelCase, px-to-rem), a formaty definiują szablon wyniku. Odwołania do tokenów ({color.primary.500}) umożliwiają tworzenie semantycznych aliasów. Zautomatyzuj ten proces za pomocą skryptu prebuild, aby tokeny były zawsze aktualne przed zbudowaniem aplikacji React.
Często zadawane pytania
Czy lekcja „Style Dictionary: transformowanie i generowanie tokenów” jest bezpłatna?
Tak — pełny tekst „Style Dictionary: transformowanie i generowanie tokenów” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu React Academy, przejdź na CoddyKit PRO. Kurs React Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Style Dictionary: transformowanie i generowanie tokenów”?
Skonfigurują Państwo Style Dictionary tak, aby przekształcał surowe pliki tokenów w zmienne CSS, stałe JS i konfigurację Tailwind. Ćwiczysz React Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć React Academy?
Nie wymagamy żadnego doświadczenia. React Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Style Dictionary: transformowanie i generowanie tokenów”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji React Academy?
Tak. Każda lekcja React Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Czym są tokeny projektowe i dlaczego są ważne
- Style Dictionary: transformowanie i generowanie tokenów
- Tokeny w Tailwind, zmienne CSS i CSS-in-JS
- Architektura tokenów dla wielu motywów i marek