Переменные окружения в Vite
Переменные окружения попадают в клиентский код только под известным именем, а не целиком из системы.
На сервере Node могут лежать десятки имён, заданных операционной системой или оболочкой терминала. Сборщик не переносит этот список в JavaScript, который уходит в браузер: иначе любой посетитель страницы увидел бы лишние строки. Vite подставляет в модуль только то, что явно разрешено правилами.
Свои значения из файла
.env
и родственных файлов режима
доступны в коде,
если имя начинается с префикса
VITE_.
Без этого префикса строка
остаётся на стороне сборки
и в import.meta.env
не появляется.
Так отделяют публичные подписи
и адреса от служебных настроек.
Часть полей Vite задаёт сам.
Среди них есть режим работы:
при запуске сервера разработки
он один, при сборке - другой.
Его читают через
import.meta.env.MODE
в том же объекте,
что и свои переменные с префиксом.
Файл .env.development
подключают при разработке,
файл .env.production -
при сборке.
Одно и то же имя
с префиксом VITE_
может получить разное значение
в зависимости от команды,
которую выполняют в терминале.
В index.html
подстановку пишут между знаками процента,
например
%VITE_TITLE%.
При отдаче страницы
сервер разработки
или шаг сборки
заменит плейсхолдер
на строку из окружения,
если имя снова начинается
с VITE_.
В JavaScript та же величина
доступна через
import.meta.env,
а в разметке - через проценты.