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

node.jsProcess

node.js Problem Overview


I use process.env a little in my program, it seems this variable have nothing to do with my program, without it my app could work well, too.

So how can I fully use the process.env? Is there any document or tutorial about it?

node.js Solutions


Solution 1 - node.js

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

Solution 2 - node.js

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

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionhh54188View Question on Stackoverflow
Solution 1 - node.jsHerman JungeView Answer on Stackoverflow
Solution 2 - node.jsAminadav GlickshteinView Answer on Stackoverflow