Node.js: Naudojant dotenv biblioteką

Ši dokumentacija yra Tvarkykite slaptus duomenis vadovo dalis. Visą vadovą rasite čia: Kaip tvarkyti slaptus duomenis naudojant Node.js.

👋 Sveiki atvykę į Stackhero dokumentaciją!

Stackhero siūlo paruoštą naudoti Node.js cloud sprendimą, kuris suteikia daugybę privalumų, įskaitant:

  • Įdiekite savo programą per kelias sekundes su paprastu git push.
  • Naudokite savo domeno vardą ir pasinaudokite automatiniu HTTPS sertifikatų konfigūravimu, kad padidintumėte saugumą.
  • Mėgaukitės ramybe su automatinėmis atsarginėmis kopijomis, vieno paspaudimo atnaujinimais ir paprasta, skaidria bei prognozuojama kainodara.
  • Gaukite optimalią veikimo ir tvirtą saugumą dėka privačios ir dedikuotos VM.

Taupykite laiką ir supaprastinkite savo gyvenimą: išbandyti Stackhero Node.js cloud hosting sprendimą užtrunka tik 5 minutes!

Realiuose projektuose dažnai reikia valdyti kelis slaptus duomenis. Pavyzdžiui, jungiantis prie duomenų bazės gali reikėti nurodyti host'ą, naudotojo vardą ir slaptažodį.

Vieną slaptą reikšmę valdyti paprasta, tačiau kai jų daug, tai greitai tampa nepatogu. Įsivaizduokite, kad aplikaciją paleidžiate tokia komanda:

POSTGRESQL_HOST=<XXXXXX>.stackhero-network.com POSTGRESQL_USER=admin POSTGRESQL_PASSWORD=myPassword node app.js

Tai greitai tampa sunkiai skaitoma ir prižiūrima. Gamybinėje aplinkoje kintamųjų gali būti dar daugiau, todėl toks būdas tampa nepraktiškas.

Čia padeda dotenv biblioteka.

Naudojant dotenv, slaptus duomenis galite laikyti atskirame faile, pavadintame .env.

Pradžiai įdiekite dotenv biblioteką vykdydami:

npm install dotenv

Tada sukurkite .env failą, kuriame laikysite kintamuosius:

POSTGRESQL_HOST=<XXXXXX>.stackhero-network.com
POSTGRESQL_USER=admin
POSTGRESQL_PASSWORD=myPassword

Kad apsaugotumėte slaptus duomenis, pasirūpinkite, kad .env failas nepatektų į jūsų Git saugyklą. Tam pridėkite jį į .gitignore failą:

echo ".env" >> .gitignore

Galiausiai, įkelkite dotenv biblioteką pačioje app.js failo pradžioje:

require("dotenv").config();

Naudojant šią konfigūraciją, kai paleidžiate aplikaciją su node app.js, dotenv automatiškai perskaito jūsų .env failą kūrimo aplinkoje. Gamyboje .env failo nereikia – aplinkos kintamieji paimami tiesiai iš Node.js paslaugos konfigūracijos, kurią galite valdyti Stackhero valdymo skydelyje.