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.

instagram viewer

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:

  1. V kořenovém modulu vašeho projektu (app.modue.ts) soubor, import ConfigModule z @nestjs/config.
  2. Přidat ConfigModule tvému dovozy pole a zavolejte forRoot metoda na to.
  3. 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.
  4. 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.