Переменные окружения: $env/static и $env/dynamic
Безопасно обращайтесь к переменным окружения на сервере и клиенте в SvelteKit.
«Переменные окружения: $env/static и $env/dynamic» — бесплатный урок Sveltejs Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Sveltejs Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Sveltejs Academy содержит 4 уроков всего.
API переменных окружения SvelteKit
SvelteKit предоставляет переменные окружения через четыре модуля: статические/приватные, статические/публичные, динамические/приватные и динамические/публичные.
Статические приватные
Считываются во время сборки и доступны только на сервере. Исключаются из клиентского пакета.
import { DB_URL } from "$env/static/private";Статические публичные
Считываются во время сборки, должны начинаться с PUBLIC_ и включаются в клиентский пакет.
import { PUBLIC_API_URL } from "$env/static/public";Динамические приватные
Считываются во время выполнения на сервере. Удобны, когда конфигурацию нужно менять без повторной сборки.
import { env } from "$env/dynamic/private";
console.log(env.SECRET);Динамические публичные
Считываются во время выполнения и доступны и на клиенте, и на сервере. Должны начинаться с PUBLIC_.
Выбор подходящего варианта
Используйте статические переменные, если значения не меняются во время выполнения, и динамические — если меняются, например для флагов функций.
Секреты не должны быть публичными
Никогда не добавляйте к секретам префикс PUBLIC_: они попадут в клиентский пакет.
Файл окружения
Храните значения в .env (исключённом из Git) и .env.example (добавленном в репозиторий).
Типобезопасность
Типы статических переменных определяются автоматически. Типы динамических переменных задаются через Record<string, string>.
Vercel и Cloudflare
У каждой платформы есть собственный интерфейс для переменных окружения. Синхронизируйте их между окружениями осознанно.
Тесты
В тестах подменяйте модули окружения, если ваше приложение от них зависит.
Быстрая проверка
Какой префикс требуется для публичных переменных окружения?
Итоги
Используйте $env/static/private для секретов, а переменные с префиксом PUBLIC_ — для безопасных на клиенте значений. Выбирайте статические или динамические переменные в зависимости от задачи.
Часто задаваемые вопросы
Урок «Переменные окружения: $env/static и $env/dynamic» бесплатный?
Да — полный текст урока «Переменные окружения: $env/static и $env/dynamic» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Sveltejs Academy, подпишись на CoddyKit PRO. Курс Sveltejs Academy содержит 4 уроков всего.
Чему я научусь в уроке «Переменные окружения: $env/static и $env/dynamic»?
Безопасно обращайтесь к переменным окружения на сервере и клиенте в SvelteKit. Ты практикуешь Sveltejs Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Sveltejs Academy?
Предыдущий опыт не требуется. Sveltejs Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Переменные окружения: $env/static и $env/dynamic»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Sveltejs Academy?
Да. Каждый урок Sveltejs Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Защита CSRF в действиях форм
- Предотвращение XSS в {#html}
- Переменные окружения: $env/static и $env/dynamic
- Ограничение частоты запросов с помощью хуков