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 środowisko Node.js cloud, które pozwala przyspieszyć Twoją pracę:

  • Wdrażaj na produkcję w kilka sekund za pomocą prostego git push. Nie są wymagane żadne dodatkowe narzędzia ani ręczna konfiguracja.
  • Skorzystaj z własnej domeny i ciesz się automatycznymi certyfikatami HTTPS, które zapewniają bezpieczeństwo Twojej aplikacji bez dodatkowej konfiguracji.
  • Automatyczne kopie zapasowe, aktualizacje jednym kliknięciem oraz przewidywalne ceny pozwalają Ci skupić się na rozwoju funkcjonalności, a Stackhero zajmuje się infrastrukturą za Ciebie.
  • Oparte na prywatnej, dedykowanej infrastrukturze dla zapewnienia stałej wydajności i wysokiego poziomu bezpieczeństwa.

Oszczędzaj czas i ograniczaj koszty operacyjne: Twoja aplikacja może działać na Node.js cloud hosting Stackhero już w kilka 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.