2012-03-19 8 views
0

私はスタイラスCSSプリプロセッサを使用しています。コンソールコンパイラはjavascriptミドルウェアではありません。私はいくつかの種類のパス接頭辞の設定を探しています。スタイラス - cliコンパイル用のプレフィックスurl()を設定

だから私は(foo.stylに)書くとき:

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

とプレフィックスstatic/を設定し、私はそれがにコンパイルしたい:

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

は、スタイラスのコンソールコンパイラで可能なこのですのみ?

答えて

0

おそらくもっと良い解決策がありますが、これはうまくいくかもしれません。

+1

私はこの解決策を非常に気に入らない。 SASSには、cliコンパイラによって読み込まれる設定ファイルsass.config.rbがあります。 url()、@ font-faceなどのURL /ファイルシステムのプレフィックスを設定することができます。コンパイラの出力をカスタマイズする方法として非常に便利です。さて、問題トラッカーにfeature rqを埋め込むことを考えています。とにかくお返事ありがとうございます。 – srigi

4

編集:あなたは、スタイラスの実行可能ファイルを使用しているのでは、ここにあなたのソリューションです。それは完全に文書化されていないようだが、あなたはすることができ、実際に--use urlと、このような文字列としてオプションに沿って渡す:この機能はstylus url() documentationからurlに似た働きと同じオプションを取る

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

たとえば、画像が./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){ 

}); 
関連する問題