手写笔和Express – 样式表在修改时不会重新编译

我正在运行最新版本的Mac OS X上的节点。我已经与Stylus一起安装了Express。 也是最新的版本。

手写笔不会重新编译我的.styl文件,当我修改它们。 我怎样才能解决这个问题?

重新编译我的.styl文件的唯一解决scheme是删除编译后的.css文件…重新启动我的应用程序,或执行clear-cache-refresh(CMD + Shift + R)不会导致重新生成-compile。

这是我的应用程序configuration的转储。 这与使用可执行文件创build新的快速应用程序基本相同。

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); }); 

我的.styl和编译的.css文件都位于[application]\public\stylesheets\

static()放在手写笔中间件下面。

现在可能已经太晚了,但是我刚刚通过了几个小时(T__T),我认为这是一个玉的问题或类似的东西。 我会解释一下自己:在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')); 

并在index.jade中:

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

它完美的作品。 问题是当在链接标签有:

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

然后根本不重新编译。

我希望这个能帮上忙

默认设置Express.js

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

手写笔压缩设置Express.js您必须在文档中添加样式表,页面加载被编译并压缩css

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