process.env
原文链接:process.env
简介
返回用户的环境信息。参阅environ(7)。
返回的对象类似如下:
{
TERM: 'xterm-256color',
SHELL: '/usr/local/bin/bash',
USER: 'maciej',
PATH: '~/.bin/:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin',
PWD: '/Users/maciej',
EDITOR: 'vim',
SHLVL: '1',
HOME: '/Users/maciej',
LOGNAME: 'maciej',
_: '/usr/local/bin/node'
}
可以修改这个对象,但是修改的内容不会影响到进程之外。也就是说,下面的例子是无效的:
$ node -e 'process.env.foo = "bar"' && echo $foo
下面的例子是有效的:
process.env.foo = 'bar';
console.log(process.env.foo);
为process.env
新增属性时会将属性的值转换成字符串。在未来的版本中,如果属性的值不是字符串、数字或布尔值,则可能抛出错误。
process.env.test = null;
console.log(process.env.test);
// => 'null'
process.env.test = undefined;
console.log(process.env.test);
// => 'undefined'
使用delete
可以从process.env
中删除属性。
process.env.TEST = 1;
delete process.env.TEST;
console.log(process.env.TEST);
// => undefined
在Windows上,环境变量不区分大小写。
process.env.TEST = 1;
console.log(process.env.test);
// => 1
Worker线程中的process.env
是只读的。