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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。