Как работает runtime config в Nuxt 3?

Добрый день!

В документации к Nuxt 3 написано, что он мапает переменные окружения в рантайме. То есть, у тебя в .env есть NUXT_VAR=111, если сделать в консоли SET NUXT_VAR=222, в приложении будет 222. Я считал, что под капотом работает либо прокси, либо watch какой-нибудь, а то и просто timeout, который следит за изменением process.env.

Но девопсы говорят, что это невозможно, и если процесс запущен, переменные окружения остаются статичными.

Как это работает? И работает ли? Может быть, под "рантаймом" имеаось в виду необходимость перезапускать сервер каждый раз для того, чтоб в приложении появились обновленные переменные окружения? Но ведь тогда получается, что runtimeConfig совсем не рантайм.
  • Вопрос задан
  • 52 просмотра
Пригласить эксперта
Ответы на вопрос 1
@null_object
Под рантайм конфигурацией понимаются переменные окружения, которые может подхватить приложение после сборки. Если собрать обычное SPA, значения этих переменных зашиваются на этапе сборки прямо в код и их поменять можно только повторной пересборкой.

То, что вы в консоли установили переменную окружения и она сразу попала в приложения - скорее всего совпадение. Девопсы правильно сказали про их статичность, так что по какой-то причине у вас сработал hmr и подхватились новые переменные.

Найти конкретную причину всех возможных триггеров для перезагрузки в коде будет достаточно затруднительно, т.к. эта логика сильно размазана по пакетам Nuxt -> Nitro -> Vite -> Chokidar
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы