我在Mac OS X上运行最新版本的Node。我已经将Express与Stylus一起安装了。也是最新版本。
当我修改它们时,Stylus不会重新编译我的.styl文件。我怎样才能解决这个问题?
重新编译我的.styl文件的唯一解决方案是删除已编译的.css文件...重新启动我的应用程序,或者执行clear-cache-refresh(CMD + Shift + R)不会导致重新编译-compile。
这是我的应用程序配置的转储。它与使用可执行文件创建新的快速应用程序时基本相同...
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')));
Stylus压缩设置Express.js你必须在文件中添加样式表,编译页面加载并压缩css
app.use(require('stylus').middleware({src: path.join(__dirname, 'public'), compress: true}));