2011-11-03 17 views
11

Utilizo exprés y jade, pero cuando depuro no quiero que jade comprima mi html, ¿hay alguna forma de pasar una opción jade globalmente y hacer que no comprima html?¿Cómo se puede expresar y jade no comprime html?

+0

¿Quiere decir que quiere que se muestre la plantilla de jade cuando ve el origen de la página? –

+0

@ChrisBiscardi yes –

+0

Quiere decir que quiere desactivar la compresión durante la compilación del middleware de jade. Creo. Al menos eso es lo que quiero. – light24bulbs

Respuesta

9

En el tiempo transcurrido desde que se escribió esta respuesta, se ha agregado una opción para controlar este comportamiento.

app.locals.pretty = true; 

Por el momento, no. Esta característica se ha discutido aquí:

https://github.com/visionmedia/jade/pull/205

el código HTML en realidad no vuelva a comprimir o minified por defecto, sin embargo. Simplemente no está formateado muy bien. La forma más sencilla que he encontrado para que sea legible para los humanos es usar las herramientas de desarrollo de Chrome, que te dan una buena representación plegable de la fuente.

+14

Le pregunté a TJ. use 'app.set ('view options', {pretty: true});' –

+0

¡Bien, esto funcionó a la perfección! –

+0

@guilin 桂林 Esta no debería ser la respuesta aceptada. La respuesta con la mayoría de los votos ascendentes es la correcta – light24bulbs

1

Puede utilizar Jade Comentarios para anotar su código para ver en el navegador.

//h1 
h1 Some Title 
//p 
p some content 

es la salida

<!--h1--> 
<h1>Some Title</h1> 
<!--p--> 
<p>some content</p> 

La plantilla ya se compila una vez que deja el servidor, por lo que si usted desea visualizar la plantilla en el navegador que tendría que escribir un plugin que el DE-compila html a jade y que muestra la versión descompilada.

+2

¿No deberían esos comentarios HTML ser ? – Zikes

+1

no, compilaciones de jade // a

+0

@Zikes afaik, jade genera comentarios en HTML para // e ignora por completo /// comentarios. – Andy

1

Huh, nuevo en nodejs, entonces quizás te pierdas algo aquí; pero en app.js sumando app.set('view options', {pretty: true}); fue ineficaz (utilizando expreso 3.0.3).

... ¿no parece ser compatible? sí encontré una solución alternativa, p. por ruta:

exports.index = function(req, res){ 
    res.render('index', { 
    [... other stuff ...] 
    pretty: true 
    }); 
}; 
+0

Si miras la respuesta de Andy, es más o menos lo mismo. ('res.render ('index', {/ * view.locals * /})'). Si lo configura en la aplicación.locales, se extiende a todas sus llamadas a 'res.render()'. [Parte de la documentación sobre cómo funciona la aplicación/vista de los lugareños.] (Http://expressjs.com/4x/api.html#app.locals) –

27

Si usa Express 3.x, puede controlar la compresión a través de app.locals.pretty. Normalmente lo habilito durante el desarrollo:

app.configure('development', function() { 
    app.locals.pretty = true; 
}); 
+2

funciona como un amuleto, ¡muchas gracias! –

+0

Esto no funcionó para mí, pero la respuesta que está marcada como correcta funcionó para mí ... –

Cuestiones relacionadas