deno.com
本頁內容

環境變數

在 Deno 中使用環境變數有幾種方式

內建 Deno.env 跳到標題

Deno 執行階段提供對環境變數的內建支援,透過 Deno.env

Deno.env 具有 getter 和 setter 方法。以下是使用範例

Deno.env.set("FIREBASE_API_KEY", "examplekey123");
Deno.env.set("FIREBASE_AUTH_DOMAIN", "firebasedomain.com");

console.log(Deno.env.get("FIREBASE_API_KEY")); // examplekey123
console.log(Deno.env.get("FIREBASE_AUTH_DOMAIN")); // firebasedomain.com
console.log(Deno.env.has("FIREBASE_AUTH_DOMAIN")); // true

.env 檔案 跳到標題

Deno 支援 .env 檔案。您可以使用 --env-file 標記讓 Deno 從 .env 讀取環境變數:deno run --env-file <script>。這會從目前的工作目錄或第一個包含 .env 的父目錄讀取;如果您想從不同的檔案載入環境變數,您可以將該檔案指定為標記的參數。此外,您可以傳遞多個 --env-file 標記 (例如,deno run --env-file=.env.one --env-file=.env.two --allow-env <script>) 以從多個檔案載入變數。

注意

當單一 .env 檔案中存在相同環境變數的多個宣告時,會套用第一個出現的宣告。但是,如果相同的變數在多個 .env 檔案中定義 (使用多個 --env-file 參數),則以最後指定檔案中的值為優先。這表示將套用最後列出的 .env 檔案中找到的第一個出現的宣告。

或者,標準函式庫中的 dotenv 套件也會從 .env 載入環境變數。

假設您有一個 .env 檔案看起來像這樣

GREETING="Hello, world."

匯入 load 模組以從 .env 檔案自動匯入並匯入到程序環境。

import "jsr:@std/dotenv/load";

console.log(Deno.env.get("GREETING")); // "Hello, world."

關於 .env 處理的更多文件,請參閱 @std/dotenv 文件。

std/cli 跳到標題

Deno 標準函式庫有一個 std/cli 模組,用於解析命令列引數。請參考該模組的文件和範例。

特殊環境變數 跳到標題

Deno 執行階段具有以下特殊環境變數。

名稱 描述
DENO_AUTH_TOKENS 分號分隔的持有者令牌和主機名稱列表,用於從私有儲存庫提取遠端模組
(例如 abcde12345@deno.land;54321edcba@github.com)
DENO_TLS_CA_STORE 逗號分隔的順序相關憑證儲存區列表。
可能的值:systemmozilla。預設為 mozilla
DENO_CERT 從 PEM 編碼檔案載入憑證授權
DENO_DIR 設定快取目錄
DENO_INSTALL_ROOT 設定 deno install 的輸出目錄 (預設為 $HOME/.deno/bin)
DENO_REPL_HISTORY 設定 REPL 歷史檔案路徑。當值為空時,歷史檔案會停用
(預設為 $DENO_DIR/deno_history.txt)
DENO_NO_PACKAGE_JSON 停用 package.json 的自動解析
DENO_NO_PROMPT 設定為停用存取時的權限提示
(替代在調用時傳遞 --no-prompt)
DENO_NO_UPDATE_CHECK 設定為停用檢查是否有較新版本的 Deno 可用
DENO_V8_FLAGS 設定 V8 命令列選項
DENO_JOBS 用於測試子命令的 --parallel 標記的並行工作執行緒數量。
預設為可用 CPU 數量。
DENO_WEBGPU_TRACE 使用 WebGPU API 時,輸出 WGPU 追蹤 到目錄的路徑
DENO_WEBGPU_BACKEND 選取 WebGPU 將使用的後端,或以偏好順序排列的後端逗號分隔列表。可能的值為 vulkandx12metalopengl
HTTP_PROXY HTTP 請求的代理伺服器位址 (模組下載、fetch)
HTTPS_PROXY HTTPS 請求的代理伺服器位址 (模組下載、fetch)
NPM_CONFIG_REGISTRY 用於 npm 註冊表的 URL。
NO_COLOR 設定為停用色彩
NO_PROXY 不使用代理伺服器的主機逗號分隔列表 (模組下載、fetch)

您找到需要的資訊了嗎?

隱私權政策