0Pricing
Sveltejs Academy · Урок

Переменные окружения: $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 — локальная установка не требуется.

Все уроки этого курса

  1. Защита CSRF в действиях форм
  2. Предотвращение XSS в {#html}
  3. Переменные окружения: $env/static и $env/dynamic
  4. Ограничение частоты запросов с помощью хуков
← Назад к Sveltejs Academy