如何在NodeJS中使用环境变量

3,093 阅读2分钟

介紹

环境变量是Nodejs最重要的概念之一,它允许应用程序在开发、阶段和生产等不同环境中表现不同。

它通常被用于:

  • 保护秘密(数据库配置、API密钥等)
  • 分配动态的系统资源,如port_name、host_name等

如何从node.js读取环境变量

Node.js的进程核心模块提供了env属性,它承载了进程启动时设置的所有环境变量。进程不需要 "require",它是自动可用的。

在这篇文章中,我们将学习如何为我们的nodejs应用程序设置多个环境。在我们开始之前,确保我们的机器上已经安装了nodejs。使用下面的命令来检查。

node -v

为Nodejs应用程序设置多个环境

让我们开始为nodejs应用程序设置多个环境。

第1步:

让我们从创建一个新的应用程序开始。要创建一个应用程序,使用npm init命令。这将在目录中创建一个package.json文件。

npm init

第2步:

安装我们的应用程序所需的库。使用下面的命令安装Expressdotenv

npm i express –save
npm i dotenv –save

第3步:

让我们为三个不同的环境**(development.env、staging.env和production.env)创建三个.env**文件

development.env

staging.env

production.env

第4步:

现在创建config.js,它将帮助我们调用特定的.env文件。**config()**方法将允许我们读取特定的env文件和我们设置的各自变量。

config.js

第5步:

现在创建一个index.js 文件,这是我们应用程序的主文件,它将根据选定的config与命令来运行我们的应用程序。

index.js

第6步:

现在我们将设置npm运行命令,以便为不同的环境运行应用程序。在package.json中我们将添加三个脚本命令

package.json

现在让我们测试一下我们的应用程序,要在开发环境中运行应用程序,请使用以下命令。

npm run dev

终端输出:

浏览器输出:

在上面的输出中,我们可以看到我们的应用程序正在3000端口运行,我们已经为开发模式设置了这个端口。同样地,要在暂存环境中运行该应用程序。

npm run qa

终端输出:

浏览器输出:

现在我们可以看到我们的应用程序运行在3001端口,这是我们为暂存模式设置的。同样,在生产环境中运行该应用程序。

npm run prod

终端输出:

浏览器输出:

我们可以看到我们的应用程序在3002端口运行。这样,我们就可以把我们的节点应用程序设置为多种环境。

总结

在这篇文章中,我们学习了什么是节点环境变量,环境变量的目的,如何读取环境变量,以及为多环境设置nodejs应用程序。