Имея таблицу стилей с полной ссылкой на ресурс изображения на другом сервере, существует ли хороший способ обрабатывать рекламные акции в разных средах, требующих другого базового URL-адреса?
background-image: url (evironmentSpecificURL/resourceName.foo);
EnvironmentSpecificURL будет варьироваться от среды к среде, и я не хочу, чтобы этот файл изменялся по мере его продвижения от разработки, проверки качества, подготовки, производства и т. д.
У меня есть идеи, но мне интересно, как другие с этим справились - я опубликую одну из своих идей.
Позвольте мне подчеркнуть (на основе другого ответа), что ресурс изображения не существует на том же сервере, и это URL-адрес, который изменится. Таким образом, относительные пути в этой ситуации не работают.
Кроме того, я пытаюсь избежать необходимости изменять CSS, где может быть несколько экземпляров URL-адреса, и централизовать этот URL-адрес в одной точке конфигурации.
любая помощь!
Я пытаюсь избежать необходимости внесения изменений в файл после его развертывания в первой среде на «пути к производству».
Может кто-нибудь привести примеры этого? или ссылку на то, где это объясняет?





Моя идея:
Разработайте локально в веб-приложении обработчик / etc для извлечения изображения и обработки изменения базового URL-адреса в файлах конфигурации:
background-image: url (localHandler.ashx(aspx)/resourceName.foo);
Где localHandler вызывает целевой ресурс, а затем возвращает ресурс в зависимости от типа контента.
Вы можете создать настраиваемый препроцессор CSS, который заменяет определения URL-адресами и кэширует результат.
Ресурсы, на которые вы ссылаетесь, действительно должны быть на относительном уровне по отношению к вашему файлу css, таким образом, это просто ".. \ resourceName.foo" от работы.
Конечно, вы также можете изучить инструменты сборки, которые автоматически создают области вашего сайта, специфичные для среды, поэтому все свойства, такие как файл css, файлы .properties и т. д., Генерируются динамически через ссылку на инструмент сборки ANT или MSBuild.
Либо будьте последовательны в разных средах (я всегда предпочитаю этот подход), либо генерируйте CSS динамически.
В зависимости от вашей среды сборки, вероятно, существует механизм для обработки файлов ресурсов и замены переменных на желаемые значения.
Я использую Maven для разработки на Java, и в него встроена эта функция.
В таблицах стилей CSS базовый URL-адрес - это URL-адрес таблицы стилей, а не документа, включающего ее. Сделайте URL-адреса в таблице стилей относительными и расположите таблицу стилей соответствующим образом.
Возможно, вы сможете добиться желаемого, используя тег <база /> и установив базовый URL-адрес, который будет использоваться для разрешения всех других относительных запросов.
Вы можете сделать что-нибудь с нашим .Меньше препроцессора CSS, чтобы поменять местами переменные во время выполнения.
Тем не менее, как вы развертываете? Если вы использовали инструменты CI и автоматически создавали сценарии развертывания, вы можете включить этап пост-сборки, чтобы найти замену этому базовому пути.
Никогда еще не сталкивался с таким случаем, когда один и тот же CSS приходилось переносить между доменами. кое-что, что было близко, хотя и меняло доменные имена. 'Найти >> Заменить все' помогло мне