Загрузка css в соответствии с окружением dev или prod

Конфиг: Symfony 3.4 - Webpack Encore

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

Я знаю, что могу сделать что-то подобное в ветке:

{{ app.environment }}

Но я не уверен, что это хорошая практика!

Есть ли способ сделать это через мои конфигурации yaml (config_dev.yml, config_test.yml, config_prod.yml)?

Или способ сделать это через мой webpack.config.js?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Symfony Station Communiqué - 17 февраля 2023 г
Symfony Station Communiqué - 17 февраля 2023 г
Это коммюнике первоначально появилось на Symfony Station , вашем источнике передовых новостей Symfony, PHP и кибербезопасности.
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
0
0
178
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Я обнаружил, что в документации Webpack: https://symfony.com/doc/3.4/frontend/encore/advanced-config.html#defining-multiple-webpack-configurations

Это то, что вы ищете? Чтобы изменить таблицы стилей в зависимости от вашей среды? Все, что вам нужно сделать, это настроить таблицы стилей для различных сред и запустить компилятор webpack с правильной конфигурацией.

это выглядит хорошо, но если я это сделаю, мне придется добавить параметры в команду сборки терминала (--config-name). Я не уверен, что этого хочу (это означает одну команду для каждой среды ... это слишком много, чтобы запоминать и приводить к возможным ошибкам.

Guillaume Harari 14.05.2018 15:26
Ответ принят как подходящий

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

<body class = "{{ app.environment }}">

и тогда вам даже не нужно загружать разные таблицы стилей CSS, вам нужны только определения разных классов в одном и том же CSS, например

body.prod {background-color: white}
body.dev {background-color: lightyellow}
body.test {background-color: lightgreen}
...

Это похоже на мою первую идею, но без всякого «если». Так лучше. Спасибо

Guillaume Harari 14.05.2018 15:27

Упс, извините за опечатку и благодарим вас за ее редактирование.

Francesco Abeni 14.05.2018 18:00

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