Node.js v25.0.0 文件
- Node.js v25.0.0
- 目錄
-
索引
- 斷言測試
- 非同步上下文跟蹤
- 非同步鉤子
- 緩衝區
- C++ 外掛
- 使用 Node-API 的 C/C++ 外掛
- C++ 嵌入器 API
- 子程序
- 叢集
- 命令列選項
- 控制檯
- 加密
- 偵錯程式
- 已棄用的 API
- 診斷通道
- DNS
- 域
- 環境變數
- 錯誤
- 事件
- 檔案系統
- 全域性物件
- HTTP
- HTTP/2
- HTTPS
- 檢查器
- 國際化
- 模組:CommonJS 模組
- 模組:ECMAScript 模組
- 模組:
node:moduleAPI - 模組:包
- 模組:TypeScript
- 網路
- 作業系統
- 路徑
- 效能鉤子
- 許可權
- 程序
- Punycode
- 查詢字串
- 逐行讀取
- REPL
- 報告
- 單一可執行檔案應用
- SQLite
- 流
- 字串解碼器
- 測試執行器
- 定時器
- TLS/SSL
- 跟蹤事件
- TTY
- UDP/資料報
- URL
- 實用工具
- V8
- 虛擬機器
- WASI
- Web Crypto API
- Web Streams API
- 工作執行緒
- Zlib
- 其他版本
- 選項
環境變數#
環境變數是與 Node.js 程序執行環境相關聯的變數。
CLI 環境變數#
有一組環境變數可以用來定製 Node.js 的行為,更多詳情請參閱 CLI 環境變數文件。
process.env#
與環境變數互動的基本 API是 process.env,它是一個包含了預填充使用者環境變數的物件,可以被修改和擴充套件。
更多詳情請參閱 process.env 文件。
DotEnv#
一套用於處理在 .env 檔案中定義的額外環境變數的工具集。
.env 檔案#
.env 檔案(也稱為 dotenv 檔案)是定義環境變數的檔案,Node.js 應用程式可以與之互動(由 dotenv 包推廣)。
以下是一個基本 .env 檔案內容的示例:
MY_VAR_A = "my variable A"
MY_VAR_B = "my variable B"
這類檔案在多種不同的程式語言和平臺中使用,但沒有正式的規範,因此 Node.js 定義了自己的規範,如下所述。
一個 .env 檔案是一個包含鍵值對的檔案,每個鍵值對由一個變數名、後跟等號(=)、再後跟一個變數值來表示。
這類檔案的名稱通常是 .env 或以 .env 開頭(例如 .env.dev,其中 dev 表示一個特定的目標環境)。這是推薦的命名方案,但不是強制性的,dotenv 檔案可以有任何任意的檔名。
變數名#
一個有效的變數名必須只包含字母(大寫或小寫)、數字和下劃線(_),且不能以數字開頭。
更具體地說,一個有效的變數名必須匹配以下正則表示式:
^[a-zA-Z_]+[a-zA-Z0-9_]*$
推薦的慣例是使用大寫字母,並在必要時使用下劃線和數字,但任何符合上述定義的變數名都能正常工作。
例如,以下是一些有效的變數名:MY_VAR、MY_VAR_1、my_var、my_var_1、myVar、My_Var123,而這些則是無效的:1_VAR、'my-var'、"my var"、VAR_#1。
變數值#
變數值由任意文字組成,可以選擇性地用單引號(')或雙引號(")包裹。
帶引號的變數可以跨越多行,而不帶引號的則限制在單行內。
請注意,當被 Node.js 解析時,所有值都被解釋為文字,這意味著任何值在 Node.js 內部都會變成一個 JavaScript 字串。例如,以下值:0、true 和 { "hello": "world" } 將分別產生字面量字串 '0'、'true' 和 '{ "hello": "world" }',而不是數字零、布林值 true 和一個帶有 hello 屬性的物件。
有效變數的示例:
MY_SIMPLE_VAR = a simple single line variable
MY_EQUALS_VAR = "this variable contains an = sign!"
MY_HASH_VAR = 'this variable contains a # symbol!'
MY_MULTILINE_VAR = '
this is a multiline variable containing
two separate lines\nSorry, I meant three lines'
空格#
變數鍵和值周圍的前導和尾隨空白字元會被忽略,除非它們被包含在引號內。
例如:
MY_VAR_A = my variable a
MY_VAR_B = ' my variable b '
將被視為與以下內容完全相同:
MY_VAR_A = my variable a
MY_VAR_B = ' my variable b '
註釋#
井號(#)字元表示註釋的開始,意味著該行餘下的部分將被完全忽略。
然而,在引號內的井號被視為任何其他標準字元。
例如:
# This is a comment
MY_VAR = my variable # This is also a comment
MY_VAR_A = "# this is NOT a comment"
export 字首#
export 關鍵字可以可選地新增在變數宣告之前,該關鍵字在對檔案的所有處理中都將被完全忽略。
這很有用,以便檔案可以在 shell 終端中無需修改地被 source。
示例
export MY_VAR = my variable
程式設計 API#
以下兩個函式允許你直接與 .env 檔案互動:
-
process.loadEnvFile載入一個.env檔案並用其變數填充process.env -
util.parseEnv解析一個.env檔案的原始內容並以物件形式返回其值