# Hassle Free Development: Manage Environment in Node App


Get the final source code from here

## Environment Variable

Environment variables are injected from outside the application. These variables are varied in a different stage of the application. For example, a web app has separate database addresses for

* Development Mode

* Testing Mode

* Staging Mode

* Execution Mode

So when you are developing an app, definitely you do not want to mess up with production database. In this criteria, managing environment variable comes handy.

## Tools

To manage the environment variable, here we are going to use the following tools

* Visual Studio Code (code editor)

* dotenv (npm package)

* DotENV (editor extension)

## Light, Camera, Action

1. Install the editor for your suitable platform

1. Install [Node.js](https://medium.com/@bmshamsnahid/node-101-install-and-get-started-with-node-js-8442dea963a4) in your machine

1. Make sure both `node` and `npm` is installed in your system

1. Open **Visual Studio Code **and install the **dotEnv** extension.

To install **dotENV **extension in **Visual Studio Code**

* Open the code editor

* Open vs code extension panel (Crtl+Shift+X)

* Search for **dotENV**

* Install the extension

## Prepare Project

Create a directory, `manageEnvironment` and enter the directory.

```
mkdir manageEnvironment

cd manageEnvironment
```


Now in the root directory, create the project

```
npm init -y
```


Now open the directory in your code editor.

Create two files named `index.js` and `.env`

Your project directory should look like

```
├── ...
├── manageEnvironment                        
│   ├── index.js
│   ├── .env             
│   └── package.json
├── ...
```


Install the npm package [dotenv](https://www.npmjs.com/package/dotenv) from the root directory.

```
npm i dotenv
```


## Manage Environment

Update your `.env` file with an environment variable and your `.env` file should look like

```
foo=bar
```


And now invoke the `dotEnv` and read the environment variable. Your `index.js` file should be look like

```
const dotenv = require(“dotenv”);

dotenv.config();

console.log(process.env.foo);
```


Now run your node app by

```
node index.js
```


In your console, output should be looked like,

```
bar
```


## Caution

Always put the `.env` file in `.gitIgnore`

So create the `.gitIgnore` file and add the `.env` file.

Your `.gitIgnore` file should be looked like,

```
.env
```


## Usage

So when your code is in `development`, `testing`, `staging` or `production` phase, use the appropriate environment variable.

## Final Word

Stay tuned and if there is a confusing term or something, the response below. I will replay ASAP.
