Выбор ответа Junior Сборщики обновлено
Секреты в переменных Vite
Вопрос
В .env фронтенда на Vite лежит VITE_STRIPE_SECRET=sk_live_..., и код читает его через import.meta.env. В чём проблема?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Значение вошьётся в JS-бандл, и его увидит любой посетитель. Переменные с префиксом VITE подставляются в клиентский код на этапе сборки как строки.
Варианты ответа
- Никакой: .env не попадает в git, значит секрет в безопасности
- Переменные с префиксом VITE_ доступны только на сервере, клиент получит undefined
- Значение вошьётся в JS-бандл, и его увидит любой посетительправильный ответ
- Vite зашифрует значение, но ключ шифрования лежит в бандле
Разбор
Переменные с префиксом VITE_ подставляются в клиентский код на этапе сборки как строки. Бандл скачивает каждый браузер, значит секрет публичен. Секретные ключи живут только на бэкенде.
- То, что
.envне в git, не мешает значению попасть в собранный файл. - Префикс
VITE_наоборот означает «отдать клиенту». - Vite ничего не шифрует.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.