環境變數
在 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 | 逗號分隔的順序相關憑證儲存區列表。 可能的值: system 、mozilla 。預設為 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 將使用的後端,或以偏好順序排列的後端逗號分隔列表。可能的值為 vulkan 、dx12 、metal 或 opengl |
HTTP_PROXY | HTTP 請求的代理伺服器位址 (模組下載、fetch) |
HTTPS_PROXY | HTTPS 請求的代理伺服器位址 (模組下載、fetch) |
NPM_CONFIG_REGISTRY | 用於 npm 註冊表的 URL。 |
NO_COLOR | 設定為停用色彩 |
NO_PROXY | 不使用代理伺服器的主機逗號分隔列表 (模組下載、fetch) |