Проблема с CSS и отсутствием констант / переменных?

Имея таблицу стилей с полной ссылкой на ресурс изображения на другом сервере, существует ли хороший способ обрабатывать рекламные акции в разных средах, требующих другого базового URL-адреса?

background-image: url (evironmentSpecificURL/resourceName.foo);

EnvironmentSpecificURL будет варьироваться от среды к среде, и я не хочу, чтобы этот файл изменялся по мере его продвижения от разработки, проверки качества, подготовки, производства и т. д.

У меня есть идеи, но мне интересно, как другие с этим справились - я опубликую одну из своих идей.

Позвольте мне подчеркнуть (на основе другого ответа), что ресурс изображения не существует на том же сервере, и это URL-адрес, который изменится. Таким образом, относительные пути в этой ситуации не работают.

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

любая помощь!

Никогда еще не сталкивался с таким случаем, когда один и тот же CSS приходилось переносить между доменами. кое-что, что было близко, хотя и меняло доменные имена. 'Найти >> Заменить все' помогло мне

questzen 09.10.2008 02:47

Я пытаюсь избежать необходимости внесения изменений в файл после его развертывания в первой среде на «пути к производству».

devmode 09.10.2008 03:02

Может кто-нибудь привести примеры этого? или ссылку на то, где это объясняет?

Miles 09.10.2008 04:20
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
3
455
8

Ответы 8

Моя идея:

Разработайте локально в веб-приложении обработчик / 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 и автоматически создавали сценарии развертывания, вы можете включить этап пост-сборки, чтобы найти замену этому базовому пути.

Другие вопросы по теме