在res.render()之后没有将手写笔应用于我的玉石文件

我似乎无法将我的项目中的手写笔文件编译为与玉文件结合使用的css文件。 翡翠文件的内容正在向浏览器显示,但没有像.styl文件中指定的格式化。

我认为这与我使用的path有关。 我对“/ public”感到困惑,应该是我在项目树中实际创build的目录,还是仅仅是当前位置的占位符或类似的东西?

以下是我需要的模块:

var express = require('express'), connect = require('connect'), account = require('./account'), stylus = require('stylus'), nib = require('nib'), http = require('http'), path = require('path'); var app = express(); 

以下是我的configuration代码:

 function compile(str, path) { return stylus(str) .set('filename', path) .use(nib()) } app.configure('development', function(){ app.set('port', process.env.PORT || 8888); app.set('views', __dirname + '/views'); app.set('view engine', 'jade'); app.use(express.favicon()); app.use(express.logger('dev')); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(app.router); app.use(express.static(path.join(__dirname, 'public'))); app.use(express.bodyParser()); app.use(express.cookieParser('1234567890QWERTY')); app.use(express.session({secret: '1234567890QWERTY'})); app.use(express.errorHandler()); app.use(stylus.middleware({ src: __dirname + '/public', dest: __dirname + "/css", compile: compile } )); }); 

下面是我的处理程序:

 app.get('/', function(req, res) { res.render('index',{title: 'Home'}); }); 

我的目录树目前有我的脚本文件在项目根目录下,然后样式表,视图,css和node_modules目录也都在根目录下。 没有“公共”目录。

 app.use(stylus.middleware({ dest: __dirname + '/public', src: __dirname + "/css", compile: compile } )) 

目标应该在公共目录中。 而你的src包含你的.styl文件

答案是我在哪里调用我的app.use(express.static())命令,它需要在代码之后来使用手写笔中间件。 我发现这篇文章信息解决我的问题:

[1]:article http://www.quietless.com/kitchen/why-isnt-stylus-compiling-my-css/