Prostředí a proměnné
Proč to funguje u tebe a naostro ne. Nejčastější příčina a jak si ji ohlídat.
11 minlekce 94/107
Po lekci umíš
- Rozumíš tomu, co je prostředí a proč jsou aspoň dvě
- Umíš spravovat proměnné pro každé prostředí
- Víš, jak předejít rozdílům mezi lokálním a ostrým během
„Mně to funguje“ je nejstarší věta v oboru. Skoro vždycky za ní stojí rozdíl mezi prostředími.
Co je prostředí
Sada podmínek, ve kterých aplikace běží: která databáze, které klíče, která adresa, který režim.
Lokální
Tvůj počítač. Vývojový režim, testovací data, klíče v
.env.local.Náhledové
Dočasná adresa pro rozpracovanou změnu. Nemusíš mít, ale hodí se.
Produkční
Ostrá verze. Skuteční uživatelé, skutečná data, ostré klíče.
Proměnné prostředí
Základy jsou v lekci z modulu 6. Tady jde o to, jak je spravovat, když jsou prostředí tři.
Kde žijí lokálně
- Soubor `.env.local`.
- Nikdy v Gitu.
- Testovací klíče.
- Adresa `http://localhost:3000`.
Kde žijí naostro
- Nastavení ve službě, kde projekt běží.
- Nikde v repozitáři.
- Ostré klíče.
- Skutečná adresa webu.
.env.example je most mezi tím. Obsahuje jména proměnných bez hodnot, je v Gitu a slouží jako seznam toho, co je potřeba nastavit.
Zkontroluj proměnné před nasazením
Před každým nasazením, které přidává novou závislost.
Zkontroluj mi proměnné prostředí v tomhle projektu:
1. Vypiš všechny proměnné, které kód skutečně používá.
2. Porovnej to s .env.example – co chybí, co je navíc?
3. Které z nich jsou veřejné (jdou do prohlížeče) a které tajné?
4. Je mezi veřejnými něco, co tajné být má?
5. Co se stane, když některá chybí – spadne to hned, nebo až
při konkrétní akci?
Bod 5 je pro mě nejdůležitější. Chci vědět, které chybějící proměnné
poznám hned a které až za týden od uživatele.Nejčastější rozdíly
Chybějící proměnná
Číslo jedna.
.env.localse nikam nenahrává.Vývojový versus produkční build
Produkční build je přísnější. Spusť
npm run buildlokálně – většina rozdílů se ukáže hned.Velikost písmen v názvech souborů
Tvůj systém může být lhostejný, server ne. Import
./Tlacitkou souborutlacitko.tsxprojde u tebe a spadne naostro.Odkazy na localhost
Zbylá adresa
http://localhost:3000v kódu.Jiná verze prostředí
Služba používá jinou verzi Node.js. Dá se nastavit – a mělo by se.
Najdi rozdíly mezi lokálním a ostrým během
Když se aplikace chová jinak po nasazení.
Projdi projekt a najdi věci, které se můžou chovat jinak naostro než u mě:
1. Odkazy na localhost nebo lokální cesty v kódu.
2. Importy, kde nesouhlasí velikost písmen s názvem souboru.
3. Věci, které fungují jen ve vývojovém režimu.
4. Chybějící nastavení verze prostředí (Node.js apod.).
5. Cokoliv, co spoléhá na soubor, který se nenahrává.
U každého nálezu napiš, jak se to projeví.Pojistka na začátek
Nejlepší návyk v celém modulu: než něco nasadíš, spusť produkční build lokálně.
npm run buildTrvá to minutu a odchytí většinu chyb ještě doma, kde se opravují rychleji.
Spusť ve svém projektu oba prompty z téhle lekce.
Pak si výsledek zapiš do dovednosti „kontrola před nasazením“, kterou sis dělal v modulu o dovednostech. Od téhle chvíle to bude jeden příkaz.
Co si odnést
- Prostředí = sada podmínek, ve kterých aplikace běží. Aspoň dvě: lokální a produkční.
.env.exampleje most: jména bez hodnot, v Gitu.- Aplikace má při chybějící povinné proměnné selhat hned, ne později.
- Před nasazením vždycky spusť produkční build lokálně.
- Nikdy netestuj s produkčními klíči.
Máš to za sebou?
Označ lekci jako hotovou, ať víš, kde jsi skončil. Nic se tím neuzamkne.
Další lekceProvoz, logy a návrat zpětObsah aktualizován: 21. srpna 2026