A környezeti változó információkat nyújt arról a környezetről, amelyben a folyamat fut. Konfigurálják a szerverportokat és az adatbázis-kapcsolatokat, elrejtik az érzékeny adatokat, például az API-kulcsokat, és még sok mást.

A környezeti változók olvasásának NestJS módja eltér a NodeJS szabvány dotenv csomagjától.

A NestJS konfigurációs modul segítségével néhány lépésben kezelheti a környezeti változókat.

1. lépés: Függőségek telepítése

A NestJS dedikált @nestjs/config csomagot, amely a dotenv csomag a motorháztető alatt. Ez a nulla függőségi csomag a környezeti változókat tölti be a .env fájlba folyamat.env. A process.env objektum egy globális változó, amelyet futás közben injektálnak be az alkalmazás használatára.

Telepítse a NestJS konfigurációs csomagot a következő futtatásával:

npm telepítés @nestjs/config

A NestJS konfigurációs csomag úgy működik, hogy egy konfigurációs modult és egy konfigurációs szolgáltatást tesz közzé az alkalmazás számára. A konfigurációs modul megadja a .env küldje el az alkalmazást az olvasáshoz. Ezzel egyidejűleg a konfigurációs szolgáltatás felfedi a fájlon belüli információkat

instagram viewer
.env fájlt az alkalmazás többi részéhez.

2. lépés: ENV-fájlok létrehozása

A környezeti változók fájlban való tárolása lehetővé teszi könnyen elérheti őket bármilyen nyelvről, különböző operációs rendszereken. Ezek verzióját szabályozhatja .env fájlokat, így növelik a projekt hordozhatóságát, és megkönnyíthetik a hibakeresési problémákat.

Az .env-fájlok létrehozásának NestJS-módszere eltér a hivatalos dotenv-ajánlástól. A dotenv dokumentációja szerint nem hozhat létre egynél több .env fájlt egy alkalmazásban. A NestJS lehetővé teszi több, különböző nevű .env-fájl létrehozását.

Jó gyakorlatként mindig hozzon létre .env fájlokat a projekt gyökérkönyvtárában, és vegye fel őket a projektjébe .gitignore fájlt.

Nincs különleges módja az .env fájl létrehozásának – csak hozza létre és szerkessze őket a normál szövegszerkesztővel –, de .env-vel kell kezdődnie. Például, .env.development.

3. lépés: A konfigurációs modul beállítása

Kövesse az alábbi lépést a konfigurációs modul globális beállításához, és adja meg a .env utak:

  1. A projekt gyökérmoduljában (app.modue.ts) fájl, importálás ConfigModule tól től @nestjs/config.
  2. Hozzáadás ConfigModule a tiédhez behozatal tömböt és hívja a forRoot módszer rajta.
  3. Adjon át egy konfigurációs objektumot a forRoot módszerrel, egy isGlobal tulajdonát igaz. Ez az opció megosztja a konfigurációt az alkalmazás többi moduljával, ami azt jelenti, hogy nem kell többször beállítania.
  4. Adja meg a sajátját envFilePath a konfigurációs objektumban. Ez a tulajdonság lehet karakterlánc is (ha van ilyen .env fájl) vagy egy tömb, amely tartalmazza az összes fájlt .env fájlokat, és megmondja a konfigurációs modulnak, hogy mely fájlokat kell keresnie.
// app.module.ts
@Modul({
import: [
ConfigModule.ForRoot({
isGlobal: igaz,
envFilePath: 'Az .env fájl(ok) neve(i)',
}),

4. lépés: A Config Service használata a környezeti változók olvasásához

A konfigurációs értékek eléréséhez kezdje az importálással ConfigService tól től @nestjs/config. Fecskendezze be a osztály konstruktora kinyilvánításával a magán változó és hozzárendelés ConfigService mint típusa.

Például:

konstruktőr(privát konfiguráció: ConfigService) {}

Egy változó eléréséhez hívja a kap módszer a ConfigService tiéden magán változó. Adja át a kívánt adattípust általánosként, valamint az elérni kívánt környezeti változó nevét.

Például:

const envVar = this.config.get<húr>('ENV_VALUE');

Az ConfigService megkeresi az „ENV_VALUE” nevű értéket, és visszaadja az értékét.

Vegye figyelembe, hogy ha kettő .env fájlok ugyanazt a tulajdonságnevet tartalmazzák, az elsőként megadott tulajdonságnevet envFilePath elsőbbséget élvez.

A környezeti változók jelentősége

A környezeti változók a programok lényeges részét képezik, különösen az összetettebb alkalmazásokban. Lehetővé teszik a program konfigurációjának vezérlését egy könnyen érthető, közös mechanizmuson keresztül.

A környezeti változók segítségével szabályozhatja a konfiguráció minden aspektusát. A különböző adatbázis-beállításoktól az érzékeny adatokig, például API-kulcsokig és hitelesítő adatokig, lehetővé teszik a konfiguráció módosítását anélkül, hogy megérintené a mögöttes forráskódot.