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:
- 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. - 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