Node.js: Korzystanie z biblioteki dotenv

Ta dokumentacja jest częścią przewodnika Zarządzanie sekretami. Pełny przewodnik znajdziesz tutaj: Jak zarządzać sekretami w Node.js.

👋 Witamy w dokumentacji Stackhero!

Stackhero oferuje gotowe do użycia rozwiązanie Node.js cloud, które zapewnia wiele korzyści, w tym:

  • Wdrażaj swoją aplikację w kilka sekund za pomocą prostego git push.
  • Używaj własnej nazwy domeny i korzystaj z automatycznej konfiguracji certyfikatów HTTPS dla zwiększonego bezpieczeństwa.
  • Ciesz się spokojem dzięki automatycznym kopiom zapasowym, aktualizacjom jednym kliknięciem oraz prostemu, przejrzystemu i przewidywalnemu cennikowi.
  • Uzyskaj optymalną wydajność i solidne zabezpieczenia dzięki prywatnej i dedykowanej VM.

Oszczędzaj czas i upraszczaj sobie życie: wypróbowanie rozwiązania Node.js cloud hosting Stackhero zajmuje tylko 5 minut!

W rzeczywistych projektach często trzeba zarządzać wieloma sekretami. Na przykład połączenie z bazą danych wymaga hosta, nazwy użytkownika i hasła.

Obsługa pojedynczego sekretu jest prosta, ale zarządzanie kilkoma szybko staje się niewygodne. Wyobraź sobie uruchamianie aplikacji poleceniem takim jak:

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

Taka komenda szybko staje się nieczytelna i trudna w utrzymaniu. W produkcji liczba zmiennych może być jeszcze większa, co czyni to rozwiązanie niepraktycznym.

Właśnie tutaj przydaje się biblioteka dotenv.

Dzięki dotenv możesz przechowywać sekrety w osobnym pliku .env.

Aby zacząć, zainstaluj bibliotekę dotenv poleceniem:

npm install dotenv

Następnie utwórz plik .env i umieść w nim swoje zmienne:

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

Aby chronić swoje sekrety, upewnij się, że plik .env nie zostanie dodany do repozytorium Git. Możesz to zrobić, dodając go do pliku .gitignore:

echo ".env" >> .gitignore

Na końcu załaduj bibliotekę dotenv na początku pliku app.js:

require("dotenv").config();

Dzięki temu rozwiązaniu, gdy uruchamiasz aplikację poleceniem node app.js, dotenv automatycznie odczyta plik .env na Twoim komputerze deweloperskim. W środowisku produkcyjnym plik .env nie jest potrzebny — zmienne środowiskowe są pobierane bezpośrednio z konfiguracji usługi Node.js, którą możesz zarządzać przez dashboard Stackhero.