ローカルの HTML/Sass/Css 開発では、libsass (Grunt 経由) を使用して Sass ファイルを Css にコンパイルします。Css background-image URL はルート相対です。
サス
$dir-img: /img;
.header {
background-image: url(#{$dir-img}/header.jpg);
}
本番サーバー用にコンパイルするときに CDN を使用するように URL を変更したいと考えています。
background-image: url(http://media.website.com/img/header.jpg);
コマンドライン引数を Sass に渡して、Sass が Sass を使用し@IF
てルート相対 URL を URL のようなハードコーディングされた CDN に切り替えることができるようにするための解決策はありますか? 何かのようなもの:
コマンドライン:
grunt sass:dist --cdnurl="http://media.website.com/img/"
サス
次に、コマンドライン引数が指定されているかどうかを Sass がチェックします。
@if using CDN {
$dir-img: cdnurl;
@else {
$dir-img: /img;
}
そして、すべての IMG URL が CDN URL を使用します。