1

node.js环境中,不是每次都stylus生成,而是希望将文件写入要由..css.cssnginx

似乎名称的版本控制部分,例如,client-<unixTime>.css然后nginx会很高兴并且页面缓存将正常工作。

有没有现成的工具可以帮助解决这个问题?

4

1 回答 1

2

没有意识到这stylus也是一个可以一次性运行或作为恶魔运行的可执行文件。在任何一种情况下,都会将.styl文件转换为.css,将它们放在您选择的目录中。

in node.js, 获取可执行文件

sudo npm install stylus -g

对我来说,stylus由于stylus middleware. 而不是解决这个问题,使用可执行文件。这也使开发和生产node服务器更紧密地保持一致,但不能解决版本控制问题。


这是我编译一个文件(同步)的函数:

var stylus = require('stylus'),
    笔尖=需要('笔尖');

// 编译手写笔
export.css = 函数(fn,出){
  var buf = fs.readFileSync(fn, 'utf8' );
  var oldCode = (fs.existsSync(out)) ? fs.readFileSync(out, 'utf8') : 'none';
  手写笔(buf)
    .set('文件名', fn)
    .使用(笔尖())
    .render(函数(错误,新代码){
      if( err ) throw( '手写笔错误: '+err );
      如果(旧代码!=新代码){
        console.log('手写笔:创建'+out);
        fs.writeFileSync(out, newCode, 'utf8');
      }
    });
};

(在使用(同步)使用非当前gz文件编译我 gzip 之后compress-buffer

于 2012-10-15T06:04:55.097 回答