попробуйте это в режиме «разработки», поскольку вы не хотите, чтобы стилус компилировался во время выполнения в производственной среде:
app.configure('development', function(){
var stylusMiddleware = stylus.middleware({
src: __dirname + '/stylus/', // .styl files are located in `/stylus`
dest: __dirname + '/public/', // .styl resources are compiled `/css/*.css`
debug: true,
compile: function(str, path) { // optional, but recommended
return stylus(str)
.set('filename', path)
.set('warn', true)
.set('compress', true)
.use(nib());
}
});
app.use(stylusMiddleware);
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});
app.configure('production', function(){
app.use(express.errorHandler());
});
app.configure(function(){
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express['static'](__dirname + '/public'));
});
Это моя обычная установка с пером и стилусом. и с этой настройкой вам нужно будет поднять ваш require("stylus")
на вершину как stylus = require("stylus")
, аналогично вашему require("nib")
.
у вас должен быть общий список configure
методов после development
.