Proměnná prostředí poskytuje informace o prostředí, ve kterém proces běží. Konfigurují serverové porty a databázová připojení, skrývají citlivá data, jako jsou klíče API, a mnoho dalšího.
Způsob čtení proměnných prostředí NestJS se liší od standardního balíčku dotenv společnosti NodeJS.
Konfigurační modul NestJS vám umožňuje spravovat proměnné prostředí v několika krocích.
Krok 1: Instalace závislostí
NestJS poskytuje vyhrazené @nestjs/config balíček, který používá dotenv balíček pod kapotou. Tento balíček s nulovou závislostí načte proměnné prostředí z a .env zařadit do proces.env. Objekt process.env je globální proměnná vložená za běhu pro použití vaší aplikace.
Nainstalujte konfigurační balíček NestJS spuštěním:
instalace npm @nestjs/config
Konfigurační balíček NestJS funguje tak, že aplikaci zpřístupní konfigurační modul a konfigurační službu. Konfigurační modul specifikuje .env podat žádost ke čtení. Současně konfigurační služba zpřístupňuje informace uvnitř .env soubor do zbytku aplikace.
Krok 2: Vytvoření souborů ENV
Uložení proměnných prostředí do souboru vám to umožní snadno k nim přistupovat z jakéhokoli jazyka, napříč různými OS. Tyto verze můžete ovládat .env soubory, takže zvyšují přenositelnost projektu a mohou zmírnit potíže s laděním.
Přístup NestJS pro vytváření souborů .env se liší od oficiálního doporučení dotenv. Podle dokumentace dotenv byste v aplikaci neměli vytvářet více než jeden soubor .env. NestJS vám umožňuje vytvořit více souborů .env s různými názvy.
Osvědčeným postupem je vždy vytvořit soubory .env v kořenovém adresáři projektu a zahrnout je do svého .gitignore soubor.
Neexistuje žádný zvláštní způsob, jak vytvořit soubor .env – stačí je vytvořit a upravit pomocí běžného textového editoru – ale musí začínat .env. Například, .env.vývoj.
Krok 3: Nastavení konfiguračního modulu
Chcete-li globálně nastavit modul Config Module, postupujte podle následujících kroků a zadejte .env cesty:
- V kořenovém modulu vašeho projektu (app.modue.ts) soubor, import ConfigModule z @nestjs/config.
- Přidat ConfigModule tvému dovozy pole a zavolejte forRoot metoda na to.
- Předejte konfigurační objekt do forRoot metoda s an isGlobal majetek do skutečný. Tato možnost sdílí konfiguraci prostřednictvím ostatních modulů ve vaší aplikaci, což znamená, že ji nebudete muset nastavovat více než jednou.
- Upřesněte svůj envFilePath ve vašem konfiguračním objektu. Tato vlastnost může být buď řetězec (pokud jej máte .env soubor) nebo pole obsahující všechny vaše .env soubory a sdělí konfiguračnímu modulu, které soubory má hledat.
// app.module.ts
@Modul({
dovoz: [
ConfigModule.forRoot({
isGlobal: skutečný,
envFilePath: 'Název (názvy) vašich souborů .env',
}),
Krok 4: Použití služby Config ke čtení proměnných prostředí
Chcete-li získat přístup k hodnotám konfigurace, začněte importem ConfigService z @nestjs/config. Vstříkněte jej do konstruktor třídy prohlášením a soukromé proměnná a přiřazování ConfigService jako jeho typ.
Například:
konstruktér(soukromá konfigurace: ConfigService) {}
Chcete-li získat přístup k proměnné, zavolejte dostat metoda na ConfigService na tvůj soukromé variabilní. Předejte mu datový typ, který požadujete, jako obecný a název proměnné prostředí, ke které chcete získat přístup.
Například:
const envVar = this.config.get<tětiva>('ENV_VALUE');
The ConfigService hledá hodnotu s názvem „ENV_VALUE“ a vrací její hodnotu.
Všimněte si, že pokud dva .env soubory obsahují stejný název vlastnosti, první zadaný v envFilePath bude mít přednost.
Význam proměnných prostředí
Proměnné prostředí jsou nezbytnou součástí programu, zejména ve složitějších aplikacích. Umožňují vám ovládat konfiguraci vašeho programu pomocí snadno srozumitelného a běžného mechanismu.
Proměnné prostředí můžete použít k řízení všech aspektů konfigurace. Od různých nastavení databáze až po citlivá data, jako jsou klíče API a přihlašovací údaje, umožňují měnit konfiguraci, aniž byste se dotkli základního zdrojového kódu.