2011-08-27 21 views
5

Sto usando Jade in Express.js e ho notato che l'output html è tutto in una riga. Sul sito Web di Jade (http://scalate.fusesource.org/documentation/jade-syntax.html) si dice che l'output formattato è standard e che le opzioni sono ScamlOptions.nl e ScamlOptions.indent, ma non riesco a trovare quelle opzioni da nessuna parte per vedere se sono impostate in modo errato. Qualcuno sa dove posso trovare queste opzioni o c'è un altro modo per forzare la formattazione pulita?Perché Jade non formatta correttamente l'output in Express.js

Grazie!

Questo thread non ha aiutato: How to output pretty html in Express?

+0

Scalate è l'attuazione Scala di giada. JavaScript jade all'implementazione, che vengono utilizzati da express, inseriti nel repository del progetto sul github https://github.com/visionmedia/jade#readme –

+3

Vedi questa domanda simile: http://stackoverflow.com/questions/5276892/expressjs -how-to-output-pretty-html –

+1

Perché i due collegamenti StackOverflow specificati non sono d'aiuto? Come stai formattando le opzioni di visualizzazione Express? – Jon

risposta

7
  1. Scalate = Jade

Inoltre, Jade non è stato progettato per creare un output leggibile. Tutte le indentazioni e le nuove linee stanno solo sprecando spazio e non sono importanti per i browser che elaborano l'HTML. Ma si potrebbe provare:

  1. Prova: app.set('view options', { pretty: true });
  2. Utilizzare Firebug o Chrome Ispettore per visualizzare il codice HTML ;-)
  3. Utilizzare qualsiasi strumento di pulizia HTML.
+0

Il numero uno non sembra funzionare. –

+0

Questo era con express 2 (o anche express 1), hanno cambiato l'API di express con il rilascio della versione 3. @AmericanYak – TheHippo

9

In Express 3, l'api è stata modificata per (almeno) questa opzione di visualizzazione.

Ho impostato app.locals.pretty e sembra funzionare correttamente. Io lo chiamo nel mio app.js (o server.js) subito dopo ho impostato il motore di visualizzazione in app.configure()

app.use(function(req, res, next) { 
    app.locals.pretty = true; 
    next(); 
}); 
+1

Per espresso 3.x questo è corretto. Puoi inserirlo nel tuo app.js - se hai utilizzato il luogo dello scaffold express "app.locals.pretty = true;" nella sezione "// all environments". – Gilman

Problemi correlati