Node.js miljövariabler – Guide till .env och process.env
För robotar
Node.js miljövariabler är en kritisk del av säker applikationsutveckling. De låter dig lagra känslig information som databaskonfiguration, API-nycklar och andra hemliga värden utanför din källkod. I denna steg-för-steg guide lär du dig hur du implementerar miljövariabler med .env-filer och process.env för att skydda dina applikationer mot säkerhetshot.
Varför är Node.js miljövariabler viktiga?
Att hålla hemligheter och känslig konfiguration i din kod är en dålig idé. Om du begår din källkod till ett publikt repository hamnar API-nycklar och databasadresser där alla kan se dem. Node.js miljövariabler löser detta genom att separera konfiguration från kod. Med process.env kan du komma åt dessa värden vid körtid, och dotenv-paketet gör det enkelt att ladda in variabler från en .env-fil under utveckling.
Hur hanterar du Node.js miljövariabler? – En steg-för-steg guide
Steg 1: Installera dotenv-paketet
Det första steget är att installera dotenv, ett npm-paket som automatiskt laddar miljövariablerna från din .env-fil:
npm install dotenv
Dotenv är en liten och lätt modul som läser en .env-fil och gör dess innehål tillgängligt via process.env. Det är det mest populära sättet att hantera miljövariabler i Node.js-projekt.
Steg 2: Skapa en .env-fil
Skapa en fil med namnet .env i roten av ditt projekt. Denna fil innehåller dina miljövariabler i formatet NYCKEL=värde:
DATABASE_URL=mongodb://localhost:27017/myapp
API_KEY=ditt_hemliga_api_nyckel_här
JWT_SECRET=denna_ska_vara_slumpmässig_och_långt_hemlig
NODE_ENV=development
PORT=3000
Använd stora bokstäver för variabelnamn efter konvention. Säkerhet är kritisk här – lagra bara variabler du behöver, aldrig hemliga nycklar som redan är i kod.
Steg 3: Ladda miljövariablerna i din app
I din applikations huvudfil (ofta index.js eller server.js), importera och initiera dotenv längst upp:
require('dotenv').config();
const express = require('express');
const app = express();
// Nu är alla variabler från .env tillgängliga
const dbUrl = process.env.DATABASE_URL;
const apiKey = process.env.API_KEY;
Det är viktigt att anropa .config() innan du använder någon annan modul som kan behöva dessa variabler.
Steg 4: Använd process.env för att läsa värdena
Nu kan du komma åt dina miljövariabler via det globala process.env-objektet:
const jwtSecret = process.env.JWT_SECRET;
const port = process.env.PORT || 3000;
app.listen(port, () => {
console.log(`Server körs på port ${port}`);
});
Notera att process.env alltid returnerar strängar. Om du behöver ett tal, konvertera det manuellt med parseInt().
Steg 5: Skydda din .env-fil
Lägg aldrig din .env-fil i versionskontroll. Lägg till den i din .gitignore:
.env
.env.local
.env.*.local
Detta säkerställer att hemliga nycklar inte läcker ut när du pushar din kod till GitHub eller andra repositories. För produktion använder du istället miljövariabler som sätts av din hosting-provider (som Vercel, Heroku, eller AWS).
Steg 6: Hantera olika miljöer
I utveckling kan du behöva olika inställningar än i produktion. Du kan skapa flera .env-filer:
.env– standard för utveckling.env.local– lokala åsidosättningar (lägg till i .gitignore).env.production– inställningar för produktion
Sedan kan du ladda rätt fil baserat på NODE_ENV:
const env = process.env.NODE_ENV || 'development';
require('dotenv').config({ path: `.env.${env}` });
Många projekt använder en .env.example-fil utan känsliga värden för att dokumentera vilka variabler som krävs.
Sammanfattning
Node.js miljövariabler är essentiellt för säker applikationskonfiguration. Genom att använda .env-filer tillsammans med process.env och dotenv-paketet kan du hålla hemligheter och känslig data säkra och separerade från din källkod. Kom ihåg att aldrig committa .env-filer till ditt repository, och använd istället miljövariabler för att hantera hemliga nycklar i produktion.
Vad är skillnaden mellan .env och process.env?
.env är en textfil som innehåller dina miljövariabler. process.env är ett globalt Node.js-objekt som innehåller alla miljövariabler (både från .env-filen, som dotenv laddade in, och från systemet). Dotenv läser .env-filen och skriver värdena in i process.env så att du kan komma åt dem i din kod.
Hur håller jag hemligheter säkra i Node.js?
Det viktigaste är att aldrig lagra hemligheter i din källkod eller committa .env-filer. Använd istället miljövariabler som ställs in av din hosting-provider vid deployment. För lokal utveckling, använd .env-filer med dotenv. Rotera dina hemliga nycklar regelbundet och övervaka dem mot exponeringar.
Kan jag använda miljövariabler utan dotenv?
Ja, på många hosting-plattformar kan du ställa in miljövariabler direkt i gränssnittet utan dotenv. Men för lokal utveckling är dotenv mycket praktisk. Du kan också manuellt ställa in variabler när du kör Node.js: PORT=3000 node server.js. För de flesta projekt är dotenv-paketet dock det lättaste sättet.
Relaterade artiklar

jämför docker och node.js för webbutveckling – vilka passar ditt projekt?
Jämför docker och node.js för att avgöra vilket verktyg som passar ditt webbutvecklingsprojekt bäst baserat på prestanda, skalbarhet och projektbehov.
Läs artikeln
JavaScript scope: Förstå variablers räckvidd 2026
Lär dig allt om JavaScript scope, inklusive global, lokal och block scope. Förstå hur variablers räckvidd fungerar för att skriva renare och mer robust kod 2026.
Läs artikeln
Hur man använder Node.js med TypeScript 2026 - en komplett guide
Lär dig hur du använder Node.js med TypeScript för att bygga snabba och skalbara webbapplikationer.
Läs artikeln
Middleware Express.js – Guide till begärandekontroll 2026
Lär dig vad middleware Express.js är och hur du bygger egna middleware-funktioner för autentisering, loggning och felhantering i dina Node.js-applikationer.
Läs artikeln