Przejdź do treści

CLI

./vendor/bin/tailwindphp to port PHP @tailwindcss/cli niewymagający Node.js. Przyjmuje te same opcje kompilacji, z wyjątkiem map źródłowych (--map), ale skanuje treść inaczej: zobacz Co skanuje CLI. Po composer require tailwindphp/tailwindphp plik binarny jest dołączany do vendor/bin/.

Jeśli w czasie działania potrzebujesz tylko CSS z PHP, użyj zamiast tego API — CLI służy do pracy na etapie budowania, która zapisuje arkusz stylów na dysku.

Szybki start

Powłoka
# Build CSS from an input file
./vendor/bin/tailwindphp -i ./src/app.css -o ./dist/styles.css

# Watch for changes and rebuild
./vendor/bin/tailwindphp -i ./src/app.css -o ./dist/styles.css --watch

# Build minified for production
./vendor/bin/tailwindphp -i ./src/app.css -o ./dist/styles.css --minify

Opcje

Powłoka
tailwindphp [-i input.css] [-o output.css] [--watch] [options…]

Podawaj wartości długich opcji za pomocą =: --input=./src/app.css, --output=./dist/styles.css, --cwd=/path/to/project. Wartość oddzielona spacją po długiej opcji (--input ./src/app.css) jest obecnie ignorowana bez błędu, a kompilacja używa wartości domyślnych (#13). Krótkie opcje przyjmują wartość jako następny argument (-i ./src/app.css).

Opcja Opis Domyślnie
-i, --input Wejściowy plik CSS; --input=- odczytuje go ze standardowego wejścia @import "tailwindcss"
-o, --output Plik wyjściowy - (standardowe wyjście)
-w, --watch Obserwuj zmiany i w razie potrzeby buduj ponownie —
-m, --minify Optymalizuj i minifikuj wynik —
--optimize Opisano jako „optymalizuj bez minifikacji”; obecnie minifikuje tak jak --minify (#9) —
--cwd Bieżący katalog roboczy .
-h, --help Wyświetl informacje o użyciu —
-V, --version Wyświetl wersję —
-v, --verbose Wyświetl ślad stosu w razie niepowodzenia kompilacji —

Gdy --output ma wartość - (domyślną), skompilowane CSS jest zapisywane na standardowe wyjście, więc można przekierować je dalej. Komunikaty o postępie (baner wersji i Done in …ms) trafiają na standardowe wyjście błędów.

W przeciwieństwie do @tailwindcss/cli nie ma opcji --map: TailwindPHP nie generuje map źródłowych.

Dane wejściowe CSS

Utwórz app.css z importem Tailwind, motywem i dyrektywami:

CSS
@import "tailwindcss";

@theme {
    --color-brand: #3b82f6;
}

Co skanuje CLI

Skanowanie zawartości w CLI nie obsługuje jeszcze @source tak jak @tailwindcss/cli (#8). W bieżącym wydaniu:

  • Gdy w wejściowym CSS nie ma dyrektywy pliku @source, CLI rekurencyjnie skanuje katalog roboczy (--cwd). Obejmuje to vendor/ i node_modules/; .gitignore nie jest brane pod uwagę.
  • Gdy występuje co najmniej jedna dyrektywa pliku @source, CLI rekurencyjnie skanuje katalog pliku wejściowego. Ścieżka ani wzorzec glob z dyrektywy nie są stosowane: @source "../templates" obok src/app.css skanuje src/, a nie templates/.
  • Dyrektywy @source not "…" są pomijane; niczego nie wykluczają.
  • @source inline("…") i @source not inline("…") działają zgodnie z dokumentacją, ponieważ obsługuje je sam kompilator.

Odczytywane są tylko pliki z następującymi rozszerzeniami: php, html, htm, twig, blade.php, vue, jsx, tsx, svelte, astro i mdx. Nazwy klas są pobierane z atrybutów class i className, tak samo jak w tw::extractCandidates(), więc klasa występująca wyłącznie w ciągu PHP lub JavaScript nie zostanie znaleziona. Wymuś uwzględnienie takich klas za pomocą @source inline("…").

Dopóki nie zostanie to naprawione, niezawodna konfiguracja to wejściowy plik CSS umieszczony na górze skanowanego katalogu:

CSS
/* templates/app.css: scans templates/ recursively */
@import "tailwindcss";
@source "./";

Zobacz składnię dyrektyw, w tym formy not i inline().

Przykłady

Powłoka
# Build from an input file
tailwindphp -i ./src/app.css -o ./dist/styles.css

# Build minified for production
tailwindphp -i ./src/app.css -o ./dist/styles.css -m

# Watch mode with minification
tailwindphp -i ./src/app.css -o ./dist/styles.css -w -m

# Run against a different working directory
tailwindphp -i app.css -o dist/styles.css --cwd=/path/to/project

CLI tworzy katalog wyjściowy, jeśli nie istnieje, i kończy działanie z błędem, gdy brakuje pliku wejściowego lub ścieżki wejściowa i wyjściowa są identyczne. Tryb obserwowania sprawdza plik wejściowy i skanowane pliki co każde 500 ms, a następnie ponownie buduje wynik po zmianie któregoś z nich lub pojawieniu się nowego pliku.

Instalacja globalna

Zainstaluj globalnie, aby używać tailwindphp z dowolnego miejsca:

Powłoka
composer global require tailwindphp/tailwindphp

# Now available globally
tailwindphp -i ./src/app.css -o ./dist/styles.css

Zobacz Pierwsze kroki, aby skonfigurować projekt, oraz API, aby dowiedzieć się o generowaniu środowiska uruchomieniowego CSS z PHP.