如何在 Node.js 和 DotEnv 文件中使用Node環(huán)境變量
環(huán)境變量是在程序外部設(shè)置的變量,通常通過云提供商或操作系統(tǒng)設(shè)置。
在 Node 中,環(huán)境變量是安全且方便地配置不經(jīng)常更改的內(nèi)容(例如 URL、身份驗證密鑰和密碼)的好方法。
如何創(chuàng)建環(huán)境變量
Node 支持開箱即用的環(huán)境變量,并且可以通過 env 對象(它是 process 全局對象的一個屬性)訪問。
要看到這一點,你可以在Node REPL中直接創(chuàng)建你自己的環(huán)境變量,方法是將一個變量直接附加到 process.env 對象上。
例如,要創(chuàng)建一個環(huán)境變量來存儲我行李上的密碼,我可以這樣分配變量:process.env.LUGGAGE_COMBO=“12345"。(順便說一句:按照慣例,環(huán)境變量通常全部大寫。)
雖然這是一個很好的實驗,但你不會在一個應(yīng)用程序中這樣使用Node REPL。為了在你的Node應(yīng)用程序中創(chuàng)建環(huán)境變量,你可能想使用像DotEnv這樣的包。
如何使用 DotEnv
DotEnv 是一個輕量級的 npm 包,它自動將 .env 文件中的環(huán)境變量加載到 process.env 對象中。
要使用 DotEnv,首先使用以下命令安裝它:npm i dotenv。然后在您的應(yīng)用程序中,像這樣要求和配置包:require('dotenv').config()。
請注意,某些包(例如 Create React App)已經(jīng)包含 DotEnv,并且云提供商可能有不同的方式來設(shè)置環(huán)境變量。因此,在你遵循本文的任何建議之前,請確保你檢查你正在使用的任何包或供應(yīng)商的文檔。
如何創(chuàng)建 .env 文件
安裝和配置 DotEnv 后,在文件結(jié)構(gòu)的頂層創(chuàng)建一個名為 .env 的文件。在這里,你將創(chuàng)建所有的環(huán)境變量,以激動人心的NAME=value 格式書寫。例如,你可以這樣設(shè)置一個端口變量為3000,PORT=3000。
你可以在 .env 文件中聲明多個變量。例如,你可以這樣設(shè)置與數(shù)據(jù)庫有關(guān)的環(huán)境變量。
- DB_HOST=localhost
- DB_USER=admin
- DB_PASSWORD=password
沒有必要用引號來包裹字符串,DotEnv會自動為你做這個。
一旦你創(chuàng)建了這個文件,請記住,你不應(yīng)該把它推送到GitHub,因為它可能包含敏感數(shù)據(jù),如認(rèn)證密鑰和密碼。將該文件添加到 .gitignore 中,以避免意外地將其推送到公共 repo。
如何訪問環(huán)境變量
訪問你的變量是非常容易的!它們被附在 process.env 對象上,所以你可以使用 process.env.KEY 模式來訪問它們。
如果你需要改變你的任何環(huán)境變量的值,你只需要改變 .env 文件。
總結(jié)
環(huán)境變量將使你的代碼更容易維護(hù)和更安全,它們很容易用Dotenv來設(shè)置,并在Node中直接使用。
現(xiàn)在你知道它是怎么做的了,你可以為你的Node應(yīng)用程序創(chuàng)建你自己的環(huán)境變量。盡情享受吧!
原文:https://www.freecodecamp.org/news/how-to-use-node-environment-variables-with-a-dotenv-file-for-node-js-and-npm/
作者:Veronica Stork
本文轉(zhuǎn)載自微信公眾號「前端全棧開發(fā)者」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系前端全棧開發(fā)者公眾號。