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