Node.js: Is there any documentation about the process.env variable

Try this link http://nodejs.org/api/process.html#process_process_env

Then you can make a small program in nodeJS:

console.log(process.env)

And run it

$ node myProgram.js

{ TERM_PROGRAM: 'iTerm.app',
  TERM: 'xterm',
  SHELL: '/bin/bash',
  CLICOLOR: '1',
  TMPDIR: '/var/folders/ff/59np25p96x95hpgbtsv3r6zr0000gn/T/',
  Apple_PubSub_Socket_Render: '/tmp/launch-LIiu0r/Render',
  OLDPWD: '/Users/hermanjunge',
  USER: 'hermanjunge',
  COMMAND_MODE: 'unix2003',
  SSH_AUTH_SOCK: '/tmp/launch-XOMy7j/Listeners',
  __CF_USER_TEXT_ENCODING: '0x1F5:0:0',
  Apple_Ubiquity_Message: '/tmp/launch-jiZQH0/Apple_Ubiquity_Message',
  LSCOLORS: 'ExFxCxDxBxegedabagacad',
  PATH: '/Users/hermanjunge/.rbenv/shims:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/local/git/bin:/usr/local/mysql/bin',
  PWD: '/tmp',
  ITERM_PROFILE: 'hermanjunge',
  SHLVL: '1',
  COLORFGBG: '7;0',
  HOME: '/Users/hermanjunge',
  ITERM_SESSION_ID: 'w1t4p0',
  LOGNAME: 'hermanjunge',
  LC_CTYPE: 'UTF-8',
  DISPLAY: '/tmp/launch-HCtQeC/org.macosforge.xquartz:0',
  _: '/usr/local/bin/node' }

Then, we learned that we can get elements from the environment we are running our app. Like, for example:

console.log(process.env.PWD);

Which returns

/tmp

And so on...


There is no documentation for the variables of process.env since it based on your environment. (Surprise).

When an operation system (OS, Linux, Win, or other), starts a process it's passing it environment variables that the process can read.

using process.env you can read the variables that passed to your programs by the OS.

Usually, NodeJS projects are using process.env for two things:

  1. Things that need to be changed between environment. For e.g. development, testing, and production. You don't want to connect to real DB during development, and you don't want to show all console.log on production.
  2. To keep secret. It's unsafe top keep API, tokens, and private keys on Git. So you save set it by using environment variable before starting the app.

Pro tip: There is another way. To define things in .env file. At this file to your .gitignore, and use the npm module dotenv