Zmienne środowiskowe: $env/static i $env/dynamic
Bezpiecznie uzyskuj dostęp do zmiennych środowiskowych po stronie serwera i klienta w SvelteKit.
Zmienne środowiskowe: $env/static i $env/dynamic to bezpłatna lekcja Sveltejs Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Sveltejs Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Sveltejs Academy zawiera 4 lekcji w sumie.
API zmiennych środowiskowych SvelteKit
SvelteKit udostępnia zmienne środowiskowe za pośrednictwem czterech modułów: static/private, static/public, dynamic/private i dynamic/public.
Statyczne prywatne
Odczytywane podczas budowania i dostępne tylko po stronie serwera. Są usuwane z pakietu klienta.
import { DB_URL } from "$env/static/private";Statyczne publiczne
Odczytywane podczas budowania, muszą zaczynać się od PUBLIC_ i są dołączane do pakietu klienta.
import { PUBLIC_API_URL } from "$env/static/public";Dynamiczne prywatne
Odczytywane w czasie działania po stronie serwera. Są przydatne, gdy konfiguracja zmienia się bez ponownego budowania.
import { env } from "$env/dynamic/private";
console.log(env.SECRET);Dynamiczne publiczne
Odczytywane w czasie działania i dostępne zarówno po stronie klienta, jak i serwera. Muszą zaczynać się od PUBLIC_.
Wybór właściwego rodzaju
Należy używać zmiennych statycznych, gdy wartości nie zmieniają się w czasie działania, a dynamicznych, gdy się zmieniają (np. flagi funkcji).
Sekrety nigdy nie są publiczne
Nigdy nie należy poprzedzać sekretów prefiksem PUBLIC_, ponieważ wyciekną do pakietu klienta.
Plik środowiskowy
Wartości należy przechowywać w pliku .env (ignorowanym przez git) oraz w pliku .env.example (zatwierdzanym w repozytorium).
Bezpieczeństwo typów
Typy zmiennych statycznych są generowane automatycznie. Typy zmiennych dynamicznych określa się za pomocą Record<string, string>.
Vercel i Cloudflare
Każda platforma ma własny interfejs do zarządzania zmiennymi środowiskowymi. Należy świadomie synchronizować je między środowiskami.
Testy
Jeśli testy zależą od modułów środowiskowych, należy je zamockować.
Szybkie sprawdzenie
Jaki prefiks jest wymagany w przypadku publicznych zmiennych środowiskowych?
Podsumowanie
Do sekretów należy używać $env/static/private, a do wartości bezpiecznych dla klienta — zmiennych z prefiksem PUBLIC_. Wybór między zmiennymi statycznymi a dynamicznymi zależy od potrzeb.
Często zadawane pytania
Czy lekcja „Zmienne środowiskowe: $env/static i $env/dynamic” jest bezpłatna?
Tak — pełny tekst „Zmienne środowiskowe: $env/static i $env/dynamic” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Sveltejs Academy, przejdź na CoddyKit PRO. Kurs Sveltejs Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Zmienne środowiskowe: $env/static i $env/dynamic”?
Bezpiecznie uzyskuj dostęp do zmiennych środowiskowych po stronie serwera i klienta w SvelteKit. Ćwiczysz Sveltejs Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Sveltejs Academy?
Nie wymagamy żadnego doświadczenia. Sveltejs Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.
Ile czasu zajmuje lekcja „Zmienne środowiskowe: $env/static i $env/dynamic”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Sveltejs Academy?
Tak. Każda lekcja Sveltejs Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Ochrona CSRF w akcjach formularzy
- Zapobieganie XSS w {#html}
- Zmienne środowiskowe: $env/static i $env/dynamic
- Ograniczanie liczby żądań za pomocą hooków