手写笔 - 为cli编译设置url()前缀

时间:2012-03-19 12:57:55

标签: stylus

我正在使用Stylus CSS预处理器,控制台编译器而不是javascript中间件。我正在寻找某种路径前缀配置。

所以当我写(在 foo.styl 中)时:

#lolipop
  background: url(images/lolipop.png)

并设置前缀static/,我希望它编译成:

#lolipop {
    background: url("static/images/lolipop.png");
}

这只能用stylus的控制台编译器吗?

2 个答案:

答案 0 :(得分:4)

编辑:由于您使用手写笔可执行文件,因此这是您的解决方案。它似乎完全没有记录,但您实际上可以--use url并将选项作为字符串传递,如下所示:

stylus --use url --with "{ paths: [ './static' ] }"

此功能与stylus url() documentation中的url类似,并采用相同的选项:

  

例如,如果我们的图像存在于./public/images中并且我们希望使用url(images / tobi.png),我们可以使用我们的公共目录传递路径,这将成为查找过程的一部分。如果我们想要url(tobi.png),我们会传递路径:[_ _ dirname +'/ public / images']。

stylus(str)
  .set('filename', __dirname + '/css/test.styl')
  .define('url', stylus.url({ paths: [__dirname + '/public'] }))
  .render(function(err, css){

});

答案 1 :(得分:0)

 prefix = 'static/'

#lolipop
  background: url(prefix + images/lolipop.png)

也许有更好的解决方案,但这有效。