如何在 Node.js 和 DotEnv 文件中使用Node环境变量

开发 前端
在 Node 中,环境变量是安全且方便地配置不经常更改的内容(例如 URL、身份验证密钥和密码)的好方法。

[[409051]]

环境变量是在程序外部设置的变量,通常通过云提供商或操作系统设置。

在 Node 中,环境变量是安全且方便地配置不经常更改的内容(例如 URL、身份验证密钥和密码)的好方法。

如何创建环境变量

Node 支持开箱即用的环境变量,并且可以通过 env 对象(它是 process 全局对象的一个属性)访问。

要看到这一点,你可以在Node REPL中直接创建你自己的环境变量,方法是将一个变量直接附加到 process.env 对象上。

例如,要创建一个环境变量来存储我行李上的密码,我可以这样分配变量:process.env.LUGGAGE_COMBO=“12345"。(顺便说一句:按照惯例,环境变量通常全部大写。)

虽然这是一个很好的实验,但你不会在一个应用程序中这样使用Node REPL。为了在你的Node应用程序中创建环境变量,你可能想使用像DotEnv这样的包。

如何使用 DotEnv

DotEnv 是一个轻量级的 npm 包,它自动将 .env 文件中的环境变量加载到 process.env 对象中。

要使用 DotEnv,首先使用以下命令安装它:npm i dotenv。然后在您的应用程序中,像这样要求和配置包:require('dotenv').config()。

请注意,某些包(例如 Create React App)已经包含 DotEnv,并且云提供商可能有不同的方式来设置环境变量。因此,在你遵循本文的任何建议之前,请确保你检查你正在使用的任何包或供应商的文档。

如何创建 .env 文件

安装和配置 DotEnv 后,在文件结构的顶层创建一个名为 .env 的文件。在这里,你将创建所有的环境变量,以激动人心的NAME=value 格式书写。例如,你可以这样设置一个端口变量为3000,PORT=3000。

你可以在 .env 文件中声明多个变量。例如,你可以这样设置与数据库有关的环境变量。

  1. DB_HOST=localhost 
  2. DB_USER=admin 
  3. DB_PASSWORD=password 

没有必要用引号来包裹字符串,DotEnv会自动为你做这个。

一旦你创建了这个文件,请记住,你不应该把它推送到GitHub,因为它可能包含敏感数据,如认证密钥和密码。将该文件添加到 .gitignore 中,以避免意外地将其推送到公共 repo。

如何访问环境变量

访问你的变量是非常容易的!它们被附在 process.env 对象上,所以你可以使用 process.env.KEY 模式来访问它们。

如果你需要改变你的任何环境变量的值,你只需要改变 .env 文件。

总结

环境变量将使你的代码更容易维护和更安全,它们很容易用Dotenv来设置,并在Node中直接使用。

现在你知道它是怎么做的了,你可以为你的Node应用程序创建你自己的环境变量。尽情享受吧!

原文:https://www.freecodecamp.org/news/how-to-use-node-environment-variables-with-a-dotenv-file-for-node-js-and-npm/

作者:Veronica Stork

本文转载自微信公众号「前端全栈开发者」,可以通过以下二维码关注。转载本文请联系前端全栈开发者公众号。

 

责任编辑:武晓燕 来源: 前端全栈开发者
相关推荐

2021-07-30 11:20:53

JavaScriptNode.jsWeb Develop

2020-08-05 08:31:51

SSL TLSNode.js

2021-08-20 16:05:28

JavaScript node.js 应用安全

2021-07-26 05:24:59

Node.js SO_RESUEPORLibuv

2021-10-25 09:00:37

Node.jsJS前端

2021-06-15 15:03:21

MongoDBNode.jsCRUD

2021-07-15 10:15:52

Node.jsJSON前端

2021-05-18 09:01:39

Node.jsJSON文件

2011-09-09 14:23:13

Node.js

2022-11-17 09:52:12

RHEL 9Node.js

2022-08-22 07:26:32

Node.js微服务架构

2013-11-01 09:34:56

Node.js技术

2017-05-10 09:40:57

Ubuntupm2Nginx

2015-03-10 10:59:18

Node.js开发指南基础介绍

2020-08-24 08:07:32

Node.js文件函数

2022-08-28 16:30:34

Node.jsDocker指令

2021-01-18 08:06:38

Node.js 追踪JSON

2022-01-11 17:23:12

配置Node.jsNode

2022-09-12 15:58:50

node.js微服务Web

2013-03-28 14:54:36

点赞
收藏

51CTO技术栈公众号