Keskkonnamuutuja annab teavet keskkonna kohta, milles protsess töötab. Need konfigureerivad serveriporte ja andmebaasiühendusi, peidavad tundlikke andmeid, nagu API-võtmed, ja palju muud.
NestJS-i viis keskkonnamuutujate lugemiseks erineb NodeJS-i standardsest dotenv-paketist.
NestJS-i konfiguratsioonimoodul võimaldab teil hallata oma keskkonnamuutujaid vaid mõne sammuga.
1. samm: sõltuvuste installimine
NestJS pakub spetsiaalset @nestjs/config pakett, mis kasutab dotenv pakett kapoti all. See nullsõltuvusega pakett laadib keskkonnamuutujad alates a .env faili sisse protsess.env. Objekt process.env on globaalne muutuja, mis sisestatakse käitusajal teie rakenduse kasutamiseks.
Installige NestJS-i konfiguratsioonipakett, käivitades:
npm installimine @nestjs/config
NestJS-i konfiguratsioonipakett avab rakendusele konfiguratsioonimooduli ja konfigureerimisteenuse. Konfiguratsioonimoodul määrab .env esitage taotlus lugemiseks. Samal ajal paljastab konfiguratsiooniteenus teenuses oleva teabe .env faili ülejäänud rakendusele.
2. samm: ENV-failide loomine
Keskkonnamuutujate faili salvestamine võimaldab pääsete neile hõlpsasti juurde mis tahes keelest, erinevates OS-ides. Saate nende versiooni juhtida .env failid, nii et need suurendavad projekti kaasaskantavust ja võivad silumisprobleeme kergendada.
NestJS-i lähenemisviis env-failide loomiseks erineb ametlikust dotenv-soovitusest. Dotenv dokumentatsiooni kohaselt ei tohiks rakenduses luua rohkem kui üks env-fail. NestJS võimaldab teil luua mitu erineva nimega env-faili.
Hea tava kohaselt peaksite alati looma .env-failid oma projekti juurkataloogis ja lisama need oma .gitignoreeri faili.
Env-faili loomiseks pole erilist võimalust – lihtsalt looge ja redigeerige need tavalise tekstiredaktoriga, kuid need peavad algama env-failiga. Näiteks, .env.development.
3. samm: konfiguratsioonimooduli seadistamine
Järgige allolevat sammu oma konfiguratsioonimooduli globaalseks seadistamiseks ja määrake .env teed:
- Teie projekti juurmoodulis (app.modue.ts) fail, import ConfigModule alates @nestjs/config.
- Lisama ConfigModule sinu juurde import massiivi ja helistage forRoot meetod sellel.
- Edastage konfiguratsiooniobjekt forRoot meetod, koos an on ülemaailmne vara juurde tõsi. See valik jagab konfiguratsiooni teie rakenduse teiste moodulite kaudu, mis tähendab, et te ei pea seda seadistama rohkem kui üks kord.
- Täpsustage oma envFilePath teie konfiguratsiooniobjektis. See atribuut võib olla string (kui teil see on .env fail) või massiiv, mis sisaldab kõiki teie .env failid ja ütleb konfiguratsioonimoodulile, milliseid faile otsida.
// app.module.ts
@Moodul({
import: [
ConfigModule.ForRoot({
on ülemaailmne: tõsi,
envFilePath: 'Teie .env-faili(de) nimi (nimed)',
}),
4. samm: konfigureerimisteenuse kasutamine keskkonnamuutujate lugemiseks
Konfiguratsiooniväärtustele juurdepääsemiseks alustage importimisest ConfigService alates @nestjs/config. Süstige see sisse klassi konstruktor kuulutades a privaatne muutuja ja määramine ConfigService selle tüübina.
Näiteks:
konstruktor(privaatne konfiguratsioon: ConfigService) {}
Muutujale juurdepääsuks helistage numbrile saada meetodil ConfigService sinu peal privaatne muutuv. Edastage see üldisena nõutav andmetüüp ja keskkonnamuutuja nimi, millele soovite juurde pääseda.
Näiteks:
const envVar = this.config.get<string>('ENV_VALUE');
The ConfigService otsib väärtust nimega „ENV_VALUE” ja tagastab selle väärtuse.
Pange tähele, et kui kaks .env failid sisaldavad sama atribuudi nime, esimene, mis on määratud failis envFilePath saab ülimuslikuks.
Keskkonnamuutujate tähtsus
Keskkonnamuutujad on programmi oluline osa, eriti keerukamate rakenduste puhul. Need võimaldavad teil juhtida oma programmi konfiguratsiooni lihtsasti mõistetava ühise mehhanismi kaudu.
Konfiguratsiooni kõigi aspektide juhtimiseks saate kasutada keskkonnamuutujaid. Alates erinevatest andmebaasiseadetest kuni tundlike andmeteni, nagu API-võtmed ja mandaadid, võimaldavad need konfiguratsiooni muuta ilma aluseks olevat lähtekoodi puudutamata.