當前位置: 妍妍網 > 碼農

每月超1.5億次下載的前端工具,作者寫了一個更強大的替代品!

2024-07-04碼農

在 npm 上有一個非常熱門的 JS 工具庫: dotenv ,其每周下載量高達近 4000 萬。這個庫已經出現了 11 年,可謂是久經考驗,但它也存在一些問題。因此,dotenv 的作者 Mot 重新實作了一個 dotenv 的替代品 —— dotenvx ,並於近日釋出了 1.0 版本。本文就來看看 dotenv 有什麽問題,以及全新的替代品 dotenvx 又有何優勢。

dotenv 是什麽?有什麽問題?

dotenv 是一種將環境變量從 .env 檔載入到環境中的零依賴模組。它通常用於軟體開發中,以便在不同環境(如開發、測試、預發和生產環境)之間管理敏感資訊(如 API 金鑰等),而無需將這些資訊寫死到程式碼中。使用 dotenv 可以幫助提高套用的安全性和可移植性。

註意 :雖然 Node.js 20.6 版本已經原生支持了 .env 檔,但現在大多數計畫使用的還是低版本的 Node.js,依舊需要借助 dotenv 來實作環境變量的載入。

實際上,知名前端構建工具 Vite 在內部也是使用 dotenv 來實作從 .env 檔中載入變量了。開發者不需要手動呼叫與 dotenv 相關的東西,Vite 會自動完成所有操作。

那 dotenv 存在什麽問題呢?

  • .env 檔泄露風險 .env 檔可能包含敏感資訊,如不慎泄露可能導致嚴重的安全問題。

  • 管理多個環境的復雜性 dotenv 在處理多個環境配置時支持有限,增加了手動管理和出錯的復雜性。

  • 跨平台的不一致性 dotenv 在不同作業系統上的行為可能有所不同,可能導致跨平台部署時遇到意外問題。

  • 為了解決這個問題,dotenv 的作者決定開發新一代配置管理工具,dotenvx 由此誕生。

    dotenv 誕生

    dotenvx 是下一代配置管理工具,其從誕生之後就受到了很多開發者的喜愛,目前其每周下載量超 11.6 萬。

    dotenvx 的出現就是為了解決 dotenv 中的問題,因此,它具有以下特點:
    1. 跨平台執行

  • 特點:dotenvx 能夠在不同的程式語言、框架和平台上以相同的方式工作,確保環境變量在任何環境中都能正確地被註入和使用。

  • 解決的問題:這解決了在不同平台上配置環境變量時可能出現的不一致性問題。

  • 支持多個環境

  • 特點:dotenvx 允許使用者建立特定於環境的 .env 檔(例如 .env.production ),並使用 -f 參數來載入它們,使得在不同環境之間切換變得簡單和靈活。

  • 解決的問題:這解決了在開發、測試和生產等多個環境之間管理不同配置的問題,避免了環境混淆和配置錯誤。

  • 加密環境變量

  • 特點:dotenvx 提供了加密功能,允許使用者透過簡單的命令(如 dotenvx encrypt )來加密 .env 檔中的敏感資訊。

  • 解決的問題:透過加密,即使 .env 檔被泄露,沒有相應的私鑰也無法解密和讀取敏感數據,從而顯著提高了安全性。

  • 除此之外,deotenvx 支持在多個程式語言和框架中使用: