process.env
历史
版本 | 变化 |
---|---|
v11.14.0 | 默认情况下,工作线程现在将使用父线程的 |
v10.0.0 | 不推荐将变量值隐式转换为字符串。 |
v0.1.27 | 添加于:v0.1.27 |
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.js 进程之外,或(除非明确请求)其他
线程。换句话说,下面的例子是行不通的:Worker
$ node -e 'process.env.foo = "bar"' && echo $foo
虽然以下将:
import { env } from 'node:process'; env.foo = 'bar'; console.log(env.foo);
const { env } = require('node:process'); env.foo = 'bar'; console.log(env.foo);
在process.env
上分配属性会隐式地将值转换为字符串。此行为已弃用。当值不是字符串、数字或布尔值时,Node.js 的未来版本可能会引发错误。
import { env } from 'node:process'; env.test = null; console.log(env.test); // => 'null' env.test = undefined; console.log(env.test); // => 'undefined'
const { env } = require('node:process'); env.test = null; console.log(env.test); // => 'null' env.test = undefined; console.log(env.test); // => 'undefined'
使用 delete
从 process.env
中删除属性。
import { env } from 'node:process'; env.TEST = 1; delete env.TEST; console.log(env.TEST); // => undefined
const { env } = require('node:process'); env.TEST = 1; delete env.TEST; console.log(env.TEST); // => undefined
在 Windows 操作系统上,环境变量不区分大小写。
import { env } from 'node:process'; env.TEST = 1; console.log(env.test); // => 1
const { env } = require('node:process'); env.TEST = 1; console.log(env.test); // => 1
除非在创建
实例时明确指定,否则每个 Worker
线程都有自己的 Worker
process.env
副本,基于其父线程的 process.env
或指定为
构造函数的 Worker
env
选项的任何内容. process.env
的更改在
线程中不可见,并且只有主线程可以进行对操作系统或本机add-ons 可见的更改。Worker
相关用法
- Node.js process.env()用法及代码示例
- Node.js process.execPath用法及代码示例
- Node.js process.emitWarning()用法及代码示例
- Node.js process.emitWarning(warning[, options])用法及代码示例
- Node.js process.execArgv用法及代码示例
- Node.js process.exitCode用法及代码示例
- Node.js process.exit([code])用法及代码示例
- Node.js process.exit()用法及代码示例
- Node.js process.emitWarning(warning[, type[, code]][, ctor])用法及代码示例
- Node.js process.stdin用法及代码示例
- Node.js process.arch()用法及代码示例
- Node.js process.nextTick(callback[, ...args])用法及代码示例
- Node.js process.noDeprecation用法及代码示例
- Node.js process.setUncaughtExceptionCaptureCallback()用法及代码示例
- Node.js process.getgid()用法及代码示例
- Node.js process.setgid(id)用法及代码示例
- Node.js process.chdir(directory)用法及代码示例
- Node.js process.setgid()用法及代码示例
- Node.js process.getuid()用法及代码示例
- Node.js process.ppid用法及代码示例
- Node.js process.report.reportOnSignal用法及代码示例
- Node.js process.report.directory用法及代码示例
- Node.js process.umask(mask)用法及代码示例
- Node.js process.setgroups(groups)用法及代码示例
- Node.js process.setegid(id)用法及代码示例
注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 process.env。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。