Node.js:有关于process.env变量的任何文档

时间:2013-02-25 01:52:57

标签: node.js process

我在我的程序中稍微使用process.env,似乎这个变量与我的程序无关,没有它我的应用程序也可以正常工作。

那我怎样才能完全使用process.env?有没有关于它的文件或教程?

2 个答案:

答案 0 :(得分:78)

试试此链接http://nodejs.org/api/process.html#process_process_env

然后你可以在nodeJS中创建一个小程序:

console.log(process.env)

然后运行它

$ 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' }

然后,我们了解到我们可以从运行应用程序的环境中获取元素。比如,例如:

console.log(process.env.PWD);

返回

/tmp

等等......

答案 1 :(得分:2)

没有process.env变量的文档,因为它是基于您的环境的。 (惊奇)。

当操作系统(OS,Linux,Win或其他操作系统)启动某个进程时,会向其传递该进程可以读取的环境变量。

使用process.env,您可以读取操作系统传递给程序的变量。

通常,NodeJS项目将process.env用于两件事:

  1. 环境之间需要更改的内容。例如开发,测试和生产。您不想在开发过程中连接到实际的数据库,也不想在生产中显示所有console.log
  2. 保守秘密。在Git上保留API,令牌和私钥是不安全的。因此,您可以在启动应用程序之前通过使用环境变量来保存设置。

专业提示:还有另一种方法。在.env文件中定义内容。将此文件保存到您的.gitignore,并使用npm模块dotenv