我正在使用节点。在应用程序中,我在文件夹中创建了一个名为“ styles”的文件夹,现在我需要编译此文件,在该文件夹中创建了一个名为“ style.styl”的文件,我想在同一文件夹中有一个新的“ style.css”文件。为此,我使用此功能,但是不能工作吗?

var http = require('http'),
express  = require('express'),
path     = require('path'),
jade = require('jade'),
stylus = require('stylus'),//i am requiring stylus
nib = require('nib'), // nib as well
fs = require('fs'),
app      = express();

function compile(str, path) { //dynamically i am comiling here
  return stylus(str)
    .set('filename', path)
    .use(nib());
}

app.set('view engine', 'jade');
app.set('views', __dirname);
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);



app.use(express.static(__dirname));

app.use(stylus.middleware({ // i am using midware to take care of styl files. but no result
  src: __dirname + '/styles',
  dest: __dirname + '/styles',
  compile: compile,
  debug: true,
  force: true
}));


有人可以帮我吗?

最佳答案

删除行app.use(app.router)。我怀疑您的手写笔中间件根本没有执行,因为Express命中了路由器,并在手写笔之前发送了404错误,因为中间件的顺序很重要。

09-30 16:57
查看更多