用Stylus编写一个由nginx服务的CSS文件
在node.js
环境中,而不是每次生成.css
的stylus
,都希望将.css
文件写入由nginx
提供服务的目录。
似乎版本化的一部分的名称,例如client-<unixTime>.css
,那么nginx
会很高兴,页面caching将正常工作。
有没有现成的工具可以帮助这个?
没有意识到stylus
也是可以一次运行或作为恶魔的可执行文件。 在任何情况下都会将.styl
文件转换为.css
文件,并将其放入您select的目录中。
在node.js
,获取可执行文件
sudo npm安装手写笔-g
对于我来说,使用stylus
这种方式是非常受欢迎的,因为stylus middleware
的方式不灵活。 而不是解决,使用可执行文件。 这也使得开发和生产node
服务器更紧密地alignment,但是并没有解决版本问题。
这里是我编译一个文件(同步)的函数:
var stylus = require('stylus'), nib = require('nib'); //编译手写笔 exports.css = function(fn,out){ var buf = fs.readFileSync(fn,'utf8'); var oldCode =(fs.existsSync(out))? fs.readFileSync(out,'utf8'):'none'; 手写笔(buf) .set('filename',fn) .use(nib()) .render(function(err,newCode){ (err)throw('stylus err:'+ err); if(oldCode!= newCode){ console.log('stylus:creating'+ out); fs.writeFileSync(out,newCode,'utf8'); } }); };
(使用compress-buffer
(sync)编译使用非当前gz
文件的gzip后,