Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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?

like image 989
hh54188 Avatar asked Feb 25 '13 01:02

hh54188


People also ask

How do you check environment variables in Nodejs?

If you want to take a look at the node's environment variables, you can run the Node. js REPL with “node” in your command line and then type: console. log(process.

What is process env node env?

In Node. js, process. env is a global variable that is injected during runtime. It is a view of the state of the system environment variables. When we set an environment variable, it is loaded into process.

Where is process env stored Nodejs?

Environment variables are stored in your system shell that you start node. js from. They are a shell feature that node. js can read/modify.

Where can I find process env file?

env files in your project root folder to set such environment variables. For that it appears to be using this package, which you might find useful also in other contexts.


2 Answers

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

like image 44
Aminadav Glickshtein Avatar answered Oct 12 '22 06:10

Aminadav Glickshtein


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

like image 134
Herman Junge Avatar answered Oct 12 '22 07:10

Herman Junge