Пути к изображениям в CSS для поддержки CDN - PullRequest
13 голосов
/ 03 октября 2010

Я пытаюсь развернуть наши образы на CDN.В настоящее время css имеет относительные пути к изображениям на нашем сайте.Эти пути должны поддерживать местоположение образа CDN.У кого-нибудь есть совет, как мне это сделать?

Или, если у кого-то есть хороший учебник по развертыванию в CDN.


Вот так я и закончил.

  1. Я использовал SASS - http://sass -lang.com /
  2. У меня есть миксин cdn.scss с контентом типа $ image_path: "/ images /";
  3. Импорт этого миксина в стиле sass @import "cdn.scss"
  4. Обновить пути к изображениям следующим образом: background: url ($ image_path + "image.png");
  5. При развертывании я изменяю переменную $ image_path в mixin.scss и затем повторно запускаю sass

UPDATE

Мы используем bash для обновления файла

cat > preprocess/sass/_cdn.scss <<EOT
\$image_path: "//CDN_URL/";

Пример кода в _cdn.scss

$image_path: "/public/images/";

Затем он работает по умолчанию локально, но при производственной загрузке мы запускаем скрипт bash для обновления с использованием местоположения cdn

1 Ответ

17 голосов
/ 03 октября 2010

Вероятно, проще всего было бы разместить ваши изображения и CSS-файл в CDN. Пути к изображениям в вашем файле CSS относятся к самому файлу CSS, поэтому вам вообще не придется менять свой CSS.

Если это не вариант, вы застряли, вставляя полные URL-адреса в таблицу стилей. Теперь, если вы действительно этого хотите, вы можете динамически сгенерировать свой CSS-файл на лету и выполнить некоторую замену, чтобы вам не приходилось жестко кодировать CDN в вашем листе.

...