手写笔和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}));