req headers engine code body app node.js express stylus

node.js - headers - Stylus y Express: las hojas de estilo no se vuelven a compilar cuando se modifican



express status code (3)

Estoy ejecutando la última versión de Node en Mac OS X. He instalado Express junto con Stylus. También las últimas versiones.

Stylus no está compilando nuevamente mis archivos .styl , cuando los modifico . ¿Cómo puedo arreglar esto?

La única solución para volver a compilar mis archivos .styl es eliminar los archivos compilados .css ... volver a iniciar mi aplicación, o hacer una actualización de caché clara (CMD + Shift + R) no está dando como resultado -compilar.

Aquí hay un volcado de la configuración de mi aplicación. Es básicamente lo mismo que cuando creas una nueva aplicación express con el ejecutable ...

app.configure(function () { this.set("views", __dirname + "/views"); this.set("view engine", "jade"); this.use(express.bodyParser()); this.use(express.methodOverride()); this.use(express.static(__dirname + ''/public'')); this.use(require("stylus").middleware({ src: __dirname + "/public", compress: true })); this.use(this.router); });

Tanto mi .styl como los archivos compilados .css se encuentran en [application]/public/stylesheets/


Coloque static() debajo del middleware del lápiz.


Configuraciones predeterminadas Express.js

app.use(require(''stylus'').middleware(path.join(__dirname, ''public'')));

Stylus comprime configuración Express.js debe agregar la hoja de estilo en el documento, se compila la página y comprime el CSS.

app.use(require(''stylus'').middleware({src: path.join(__dirname, ''public''), compress: true}));


Puede ser demasiado tarde ahora, pero acabo de pasar algunas horas (T__T) en esto, y creo que es un error de jade o algo así. Me explicaré a mí mismo: con este código en server.js:

app.set(''views'', __dirname + ''/views''); app.set(''view engine'', ''jade''); app.use( stylus.middleware({ src: __dirname + "/assets/stylus", dest: __dirname + "/assets/css", debug: true, compile : function(str, path) { console.log(''compiling''); return stylus(str) .set(''filename'', path) .set(''warn'', true) .set(''compress'', true); } }) ); app.use(express.static(__dirname + ''/assets''));

y en el index.jade:

link(rel="stylesheet", href="css/style.css")

funciona perfectamente El problema era cuando en la etiqueta de enlace había:

link(rel="stylesheet", href="stylesheets/style.css")

y luego no fue recompilar en absoluto.

Espero que esto sea de ayuda