Node.js ยท Chapter 29 of 43
Environment Variables
Environment variables store configuration outside your code, like database URLs, API keys, and secrets. This keeps sensitive data out of source control.
The `dotenv` package lets you load variables from a `.env` file into `process.env` during development.
Using process.env
Node.js exposes environment variables through the global `process.env` object as strings.
Loading a .env file
Install `dotenv`, create a `.env` file, and call `require('dotenv').config()` at the top of your entry file.
Example 1 (javascript)
// .env file
// PORT=4000
// DATABASE_URL=postgres://...
require('dotenv').config();
console.log(process.env.PORT);Output
4000dotenv loads key-value pairs from .env into process.env.
Example 2 (javascript)
const port = process.env.PORT || 3000;
app.listen(port, () => console.log('Running on ' + port));Output
Running on 4000Falling back to a default port keeps the app working even without a .env file.
Key points
- process.env exposes environment variables as strings.
- dotenv loads variables from a .env file.
- Never commit .env files containing secrets to version control.
- Use fallback defaults for optional environment variables.
๐ก Note: Add `.env` to your `.gitignore` to avoid leaking secrets.
