stylus and express stylesheets are not re compiled when modified

stylus and express stylesheets are not re compiled when modified  using -'node.js,express,stylus'

I am running latest version of Node on Mac OS X. I've installed Express together with Stylus. Also the latest versions.

Stylus is not re-compiling my .styl files, when I modify them. How can I fix this?

The only solution to getting my .styl files re-compiled, is to delete the compiled .css files... re-starting my application, or doing a clear-cache-refresh (CMD + Shift + R) is not resulting a re-compile.

Here's a dump of my application configuration. It's basically the same as when you create a new express application with the executable...

app.configure(function ()
    this.set("views", __dirname + "/views");
    this.set("view engine", "jade");

    this.use(express.static(__dirname + '/public'));

        src: __dirname + "/public",
        compress: true


Both my .styl and the compiled .css files are located in [application]\public\stylesheets\

asked Sep 18, 2015 by tejas lakhani
0 votes

2 Answers

0 votes

It can be too late now, but I've just passed some hours ( T__T ) on this, and I think it's a bug of jade or something like that. I'll explain myself: With this code in server.js:

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

and in the index.jade:

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

it works perfectly. The problem was when in the link tag there was:

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

and then it was not recompiling at all.

I hope this will help

answered Sep 18, 2015 by mtabakade
0 votes

Default settings Express.js

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

Stylus compress setting Express.js you must add the style sheet in the document, page loading is compiled and compresses the css

app.use(require('stylus').middleware({src: path.join(__dirname, 'public'), compress: true}));
answered Sep 18, 2015 by 20shahi