Vai al contenuto

CLI

./vendor/bin/tailwindphp è un port PHP di @tailwindcss/cli che non richiede Node.js. Accetta le stesse opzioni di compilazione, tranne le mappe sorgente (--map), ma analizza i contenuti in modo diverso: consultate Cosa analizza CLI. Dopo composer require tailwindphp/tailwindphp, il binario viene collegato a vendor/bin/.

Se vi serve solo CSS in fase di esecuzione da PHP, usate invece API: CLI è pensato per flussi di lavoro di compilazione che scrivono un foglio di stile su disco.

Avvio rapido

Shell
# 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

Opzioni

Shell
tailwindphp [-i input.css] [-o output.css] [--watch] [options…]

Assegnate un valore alle opzioni lunghe con =: --input=./src/app.css, --output=./dist/styles.css, --cwd=/path/to/project. Al momento, un valore separato da uno spazio dopo un'opzione lunga (--input ./src/app.css) viene ignorato senza errori e la compilazione usa i valori predefiniti (#13). Le opzioni brevi accettano il valore come argomento successivo (-i ./src/app.css).

Opzione Descrizione Valore predefinito
-i, --input File CSS di input; --input=- lo legge da stdin @import "tailwindcss"
-o, --output File di output - (stdout)
-w, --watch Rileva le modifiche e ricompila quando necessario —
-m, --minify Ottimizza e minimizza l'output —
--optimize La documentazione indica «ottimizza senza minimizzare»; al momento minimizza come --minify (#9) —
--cwd Directory di lavoro corrente .
-h, --help Mostra le informazioni sull'utilizzo —
-V, --version Stampa la versione —
-v, --verbose Stampa la traccia dello stack se una compilazione non riesce —

Quando --output è - (valore predefinito), il file CSS compilato viene scritto su stdout, così potete reindirizzarlo altrove. I messaggi di avanzamento (il banner della versione e Done in …ms) vengono inviati a stderr.

A differenza di @tailwindcss/cli, non esiste l'opzione --map: TailwindPHP non genera mappe sorgente.

File CSS di input

Create un app.css con l'importazione, il tema e le direttive di Tailwind:

CSS
@import "tailwindcss";

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

Cosa analizza CLI

L'analisi dei contenuti in CLI non segue ancora @source come fa @tailwindcss/cli (#8). Nella versione attuale:

  • Senza una direttiva @source nel file nel file di input CSS, CLI analizza ricorsivamente la directory di lavoro (--cwd). Sono incluse anche vendor/ e node_modules/; .gitignore non viene consultato.
  • Con una o più direttive @source nel file, CLI analizza ricorsivamente la directory del file di input. Il percorso o il glob nella direttiva non viene applicato: @source "../templates" accanto a src/app.css analizza src/, non templates/.
  • Le direttive @source not "…" vengono ignorate e non escludono nulla.
  • @source inline("…") e @source not inline("…") funzionano come documentato, perché vengono gestite direttamente dal compilatore.

Vengono letti solo i file con queste estensioni: php, html, htm, twig, blade.php, vue, jsx, tsx, svelte, astro e mdx. I nomi delle classi vengono ricavati dagli attributi class e className, come in tw::extractCandidates(); pertanto, una classe presente solo in una stringa PHP o JavaScript non viene trovata. Aggiungete queste classi manualmente con @source inline("…").

Finché il problema non sarà risolto, la configurazione più affidabile prevede un file di input CSS nella directory da analizzare, al suo livello principale:

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

Consultate @source per la sintassi delle direttive, comprese le forme not e inline().

Esempi

Shell
# 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 crea la directory di output se non esiste ed esce con un errore se manca il file di input o se i percorsi di input e output coincidono. La modalità di osservazione controlla il file di input e quelli analizzati ogni 500 ms e ricompila quando uno di essi cambia o viene aggiunto un nuovo file.

Installazione globale

Installate globalmente per usare tailwindphp da qualsiasi posizione:

Shell
composer global require tailwindphp/tailwindphp

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

Consultate Per iniziare per configurare il progetto e API per generare CSS in fase di esecuzione da PHP.