DEV Community

Cover image for Mastering Environment Variables in Node.js: A Step-by-Step Guide Using DotEnv
Kingsley Odim
Kingsley Odim

Posted on

Mastering Environment Variables in Node.js: A Step-by-Step Guide Using DotEnv

Managing environment variables is a crucial aspect of developing Node.js applications, as it helps keep sensitive data, such as API keys and database credentials, secure. One popular method for handling environment variables is using a .env file. This article will guide you through setting up and using environment variables in a Node.js project with the help of the dotenv package.

Prerequisites

Before you begin, ensure you have the following installed on your machine:

  • Node.js and npm
  • Basic understanding of JavaScript

Step 1: Install the dotenv Package

First, you need to install the dotenv package, which allows you to load environment variables from a .env file into process.env.

npm install dotenv

Enter fullscreen mode Exit fullscreen mode

Step 2: Create a .env File

Next, create a .env file in the root directory of your project. This file will hold all your environment variables. For example:

# .env
DATABASE_URL=postgres://user:password@localhost:5432/mydatabase
API_KEY=yourapikey123456
PORT=3000

Enter fullscreen mode Exit fullscreen mode

Make sure to add your .env file to your .gitignore file to prevent it from being committed to version control:

# .gitignore
.env

Enter fullscreen mode Exit fullscreen mode

Step 3: Load Environment Variables in Your Node.js Application

Now, you need to load the environment variables from the .env file into your Node.js application. At the entry point of your application (usually app.js or index.js), require and configure the dotenv package.

// app.js or index.js
require('dotenv').config();

console.log(process.env.DATABASE_URL); // 'postgres://user:password@localhost:5432/mydatabase'
console.log(process.env.API_KEY); // 'yourapikey123456'
console.log(process.env.PORT); // '3000'

Enter fullscreen mode Exit fullscreen mode

By requiring dotenv and calling the config() method, all the variables defined in the .env file are loaded into process.env.

Step 4: Use Environment Variables in Your Code

You can now use the environment variables in your application by accessing process.env. Here’s an example of using these variables to set up an Express server:

const express = require('express');
require('dotenv').config();

const app = express();
const port = process.env.PORT || 3000;

app.get('/', (req, res) => {
    res.send('Hello World!');
});

app.listen(port, () => {
    console.log(`Server is running on port ${port}`);
});

Enter fullscreen mode Exit fullscreen mode

In this example, the server will run on the port specified in the .env file. If the PORT variable is not defined in the .env file, it will default to 3000.

Step 5: Securely Manage Environment Variables

Using a .env file is a good practice for local development, but you should avoid using it in production. For production environments, consider using a secret management tool or your hosting provider’s environment variable management feature.

Conclusion

Using environment variables in Node.js with a .env file and the dotenv package is a simple and effective way to manage sensitive configuration data. By following the steps outlined in this article, you can ensure that your application is both secure and easy to configure across different environments.

Start managing your environment variables efficiently and securely today!

Top comments (0)