每月超1.5億次下載的前端工具,作者寫了一個更強(qiáng)大的替代品!
在 npm 上有一個非常熱門的 JS 工具庫:dotenv,其每周下載量高達(dá)近 4000 萬。這個庫已經(jīng)出現(xiàn)了 11 年,可謂是久經(jīng)考驗(yàn),但它也存在一些問題。因此,dotenv 的作者 Mot 重新實(shí)現(xiàn)了一個 dotenv 的替代品 —— dotenvx,并于近日發(fā)布了 1.0 版本。本文就來看看 dotenv 有什么問題,以及全新的替代品 dotenvx 又有何優(yōu)勢。
圖片
dotenv 是什么?有什么問題?
dotenv 是一種將環(huán)境變量從 .env 文件加載到環(huán)境中的零依賴模塊。它通常用于軟件開發(fā)中,以便在不同環(huán)境(如開發(fā)、測試、預(yù)發(fā)和生產(chǎn)環(huán)境)之間管理敏感信息(如 API 密鑰等),而無需將這些信息硬編碼到代碼中。使用 dotenv 可以幫助提高應(yīng)用的安全性和可移植性。
注意:雖然 Node.js 20.6 版本已經(jīng)原生支持了 .env 文件,但現(xiàn)在大多數(shù)項(xiàng)目使用的還是低版本的 Node.js,依舊需要借助 dotenv 來實(shí)現(xiàn)環(huán)境變量的加載。
實(shí)際上,知名前端構(gòu)建工具 Vite 在內(nèi)部也是使用 dotenv 來實(shí)現(xiàn)從 .env 文件中加載變量了。開發(fā)者不需要手動調(diào)用與 dotenv 相關(guān)的東西,Vite 會自動完成所有操作。
那 dotenv 存在什么問題呢?
- .env 文件泄露風(fēng)險(xiǎn):.env文件可能包含敏感信息,如不慎泄露可能導(dǎo)致嚴(yán)重的安全問題。
 - 管理多個環(huán)境的復(fù)雜性:dotenv在處理多個環(huán)境配置時支持有限,增加了手動管理和出錯的復(fù)雜性。
 - 跨平臺的不一致性:dotenv在不同操作系統(tǒng)上的行為可能有所不同,可能導(dǎo)致跨平臺部署時遇到意外問題。
 
為了解決這個問題,dotenv 的作者決定開發(fā)新一代配置管理工具,dotenvx 由此誕生。
dotenv 誕生
dotenvx 是下一代配置管理工具,其從誕生之后就受到了很多開發(fā)者的喜愛,目前其每周下載量超 11.6 萬。
圖片
dotenvx 的出現(xiàn)就是為了解決 dotenv 中的問題,因此,它具有以下特點(diǎn):
跨平臺運(yùn)行
特點(diǎn):dotenvx 能夠在不同的編程語言、框架和平臺上以相同的方式工作,確保環(huán)境變量在任何環(huán)境中都能正確地被注入和使用。
解決的問題:這解決了在不同平臺上配置環(huán)境變量時可能出現(xiàn)的不一致性問題。
支持多個環(huán)境
特點(diǎn):dotenvx 允許用戶創(chuàng)建特定于環(huán)境的 .env 文件(例如 .env.production),并使用 -f 參數(shù)來加載它們,使得在不同環(huán)境之間切換變得簡單和靈活。
解決的問題:這解決了在開發(fā)、測試和生產(chǎn)等多個環(huán)境之間管理不同配置的問題,避免了環(huán)境混淆和配置錯誤。
加密環(huán)境變量
特點(diǎn):dotenvx 提供了加密功能,允許用戶通過簡單的命令(如 dotenvx encrypt)來加密 .env 文件中的敏感信息。
解決的問題:通過加密,即使 .env 文件被泄露,沒有相應(yīng)的私鑰也無法解密和讀取敏感數(shù)據(jù),從而顯著提高了安全性。
除此之外,deotenvx 支持在多個編程語言和框架中使用:
圖片















 
 
 









 
 
 
 