2013-06-12 8 views
10

Sto pianificando di utilizzare i modelli di giada per generare diversi html a seconda che si tratti di sviluppo o di produzione. A questo punto, non ho intenzione di scrivere codice nel nodo. Detto questo, è possibile invocare jade dalla linea di comando e passare le variabili? Se é cosi, come?Passa le variabili al modello di giada dalla riga di comando

se, index.jade è

!!! 5 
html 
    head 
    title my jade template 
    body 
    h1 Hello #{name} 

voglio invocarlo da linea di comando che passa il valore per il nome.

Grazie

risposta

13

È necessario utilizzare l'opzione -O/--obj all'interno del Jade CLI. Esso accetta 2 tipi di valori:

  • serializzato JSON
  • Un percorso di un file JSON (questo ha la precedenza)

Ad esempio:

jade -O myfile.json template.jade 

o

jade --obj '{ "cache": true }' template.jade 
+6

i documenti dichiarano che --obj/-O sono per il passaggio un oggetto opzioni. non c'è un riferimento ai locali nell'oggetto delle opzioni. cosa mi manca – cdaringe

+0

Wow funziona, ma non funziona quando provo a compilare molti modelli. – Costa

+0

Questo ha funzionato per me. Ho avuto un problema tecnico perché il file json che stavo usando è iniziato a livello di array e non ha un nome, e poiché non lo stai richiedendo, non ha un nome nel file pug, quindi metto una variabile di primo livello e metto la mia matrice al suo interno. Per chiunque altro finisce in questa barca. – Costa

Problemi correlati