Size: a a a

Webpack — русскоговорящее сообщество

2020 January 21

АЗ

Андрей Звёздочка in Webpack — русскоговорящее сообщество
John Smith
я, наверное, что-то не так понимаю, но мы говорим про плагин вебпака, который выполняется в рантайме собранного приложения?
Плагин, который позволяет прокидывать переменные из env в приложение.
Ты запускаешь контейнер docker run -e A=a
и код приложения
console.log(env.A)

При каждом запуске должны выводиться актуальные значения из энва.
источник

АЗ

Андрей Звёздочка in Webpack — русскоговорящее сообщество
Baxxter
process.env.NODE_ENV
Что это значит?
источник

JS

John Smith in Webpack — русскоговорящее сообщество
Андрей Звёздочка
Плагин, который позволяет прокидывать переменные из env в приложение.
Ты запускаешь контейнер docker run -e A=a
и код приложения
console.log(env.A)

При каждом запуске должны выводиться актуальные значения из энва.
вебпак здесь причем?
источник

B

Baxxter in Webpack — русскоговорящее сообщество
Андрей Звёздочка
Что это значит?
Там хранится флаг mode с которым запущен вебпак.
источник

АЗ

Андрей Звёздочка in Webpack — русскоговорящее сообщество
Baxxter
Там хранится флаг mode с которым запущен вебпак.
Спасибо. Не так тебя понял изначально.
источник

АЗ

Андрей Звёздочка in Webpack — русскоговорящее сообщество
John Smith
вебпак здесь причем?
Хочется унифицировано работать с этими переменными. Или есть другое решение, которое лучше, чем реализация этого через вебпак?
источник

B

Baxxter in Webpack — русскоговорящее сообщество
Андрей Звёздочка
Хочется унифицировано работать с этими переменными. Или есть другое решение, которое лучше, чем реализация этого через вебпак?
Пользователь может сам определить подключать ли ему плагин в проде. Не понимаю зачем эту логику надо прятать в плагин - это неявное поведение
источник

JS

John Smith in Webpack — русскоговорящее сообщество
Андрей Звёздочка
Мне требуется создать контейнер, который будет конфигурироваться при запуске.
если речь про докер, то запускай скрипт и в зависимости от переменных выполняй нужный тебе вариант
источник

АЗ

Андрей Звёздочка in Webpack — русскоговорящее сообщество
John Smith
если речь про докер, то запускай скрипт и в зависимости от переменных выполняй нужный тебе вариант
Ты предлагаешь тянуть кучу всего в контейнер и делать сборку при запуске?
источник

JS

John Smith in Webpack — русскоговорящее сообщество
Андрей Звёздочка
Ты предлагаешь тянуть кучу всего в контейнер и делать сборку при запуске?
если мы не выполняем сборку, то зачем на для решения этой задачи нужен вебпак?
источник

АЗ

Андрей Звёздочка in Webpack — русскоговорящее сообщество
Baxxter
Пользователь может сам определить подключать ли ему плагин в проде. Не понимаю зачем эту логику надо прятать в плагин - это неявное поведение
Это не прятанье логики:
1) Если у нас разработка, то мы используем предустановленные значения для переменных окружения
2) Если у нас прод, то мы берём из из env.
источник

B

Baxxter in Webpack — русскоговорящее сообщество
Андрей Звёздочка
Это не прятанье логики:
1) Если у нас разработка, то мы используем предустановленные значения для переменных окружения
2) Если у нас прод, то мы берём из из env.
Без плагина они и так будут браться из env. Что есть прод и как его наличие проверяется - решать должен пользователь
источник

АЗ

Андрей Звёздочка in Webpack — русскоговорящее сообщество
John Smith
если мы не выполняем сборку, то зачем на для решения этой задачи нужен вебпак?
На этапе сборки мы генерим 2 файла:
1) env.js, в котором устанавливаются переменные
2) bundle.js - приложение
При запуске контейнера sed'ом заменяем в env.js значения переменных на те, которые есть в env.
Вебпак нужен для генерации связи между env и bundle как минимум.
источник

JS

John Smith in Webpack — русскоговорящее сообщество
Андрей Звёздочка
Это не прятанье логики:
1) Если у нас разработка, то мы используем предустановленные значения для переменных окружения
2) Если у нас прод, то мы берём из из env.
ну так и устанавливай эти переменные из скрипта, в чем вопрос? Я вот просто совсем не понимаю.
источник

B

Baxxter in Webpack — русскоговорящее сообщество
John Smith
ну так и устанавливай эти переменные из скрипта, в чем вопрос? Я вот просто совсем не понимаю.
Он хочет на лету их менять в рантайме
источник

B

Baxxter in Webpack — русскоговорящее сообщество
Идея понятна, но реализация не универсальна
источник

АЗ

Андрей Звёздочка in Webpack — русскоговорящее сообщество
Baxxter
Без плагина они и так будут браться из env. Что есть прод и как его наличие проверяется - решать должен пользователь
Ты предлагаешь явно заставлять пользователя в конфиге плагина прокидывать флаг "дев или нет". По идее упрощает задачу.
источник

JS

John Smith in Webpack — русскоговорящее сообщество
Baxxter
Он хочет на лету их менять в рантайме
но это к вебпаку вообще не имеет отношения
источник

АЗ

Андрей Звёздочка in Webpack — русскоговорящее сообщество
John Smith
но это к вебпаку вообще не имеет отношения
Без вебпака как ты будешь делать связи между env.js и bundle.js?
+ если у человека нет типизации, то хотелось бы ломать сборку, если он пытается что-то не задекларированное ранее использовать из переменных окружения.
источник

B

Baxxter in Webpack — русскоговорящее сообщество
Андрей Звёздочка
Ты предлагаешь явно заставлять пользователя в конфиге плагина прокидывать флаг "дев или нет". По идее упрощает задачу.
Да, просто опцию disabled можно добавить для удобства, которая если нужно отключает плагин
источник