Befehlszeilenargument als var in Sass, für fest codierte CDN-URLs beim Kompilieren
Für die lokale HTML / Sass / Css-Entwicklung verwenden wir libsass (über Grunt), um unsere Sass-Dateien in Css zu kompilieren. Die Css-Hintergrundbild-URLs sind root-relativ.
Sass$dir-img: /img;
.header {
background-image: url(#{$dir-img}/header.jpg);
}
Wir möchten die URL so ändern, dass beim Kompilieren für den Produktionsserver ein CDN verwendet wird:
background-image: url(http://media.website.com/img/header.jpg);
Ist es eine Lösung, ein Befehlszeilenargument an TO Sass zu übergeben, damit Sass ein Sass @ verwenden kan@IF
, um die root-relativen URLs auf fest codierte CDN-ähnliche URLs umzustellen. Etwas wie
grunt sass:dist --cdnurl="http://media.website.com/img/"
SassThen Sass überprüft, ob das Befehlszeilenargument angegeben wurde:
@if using CDN {
$dir-img: cdnurl;
@else {
$dir-img: /img;
}
Und dann würden alle IMG-URLs die CDN-URL verwenden.