📌  相关文章
📜  NODE_ENV 变量以及如何使用它们?

📅  最后修改于: 2022-05-13 01:56:52.521000             🧑  作者: Mango

NODE_ENV 变量以及如何使用它们?

简介: NODE_ENV 变量是由 express 框架推广的环境变量。可以根据程序运行的环境(即开发/生产)动态设置此类变量的值。 NODE_ENV 就像一个标志,指示服务器是在开发模式还是生产模式下运行。 express 框架在运行时检查标志值并根据环境设置值。

设置 NODE_ENV 变量:设置 NODE_ENV 变量取决于操作系统以及用户的设置。

要将环境变量全局设置为某个值,我们可以从命令行运行代码。

对于 Linux 和 Mac 操作系统:

export NODE_ENV = production

对于 Windows 操作系统

$env:NODE_ENV = 'production'

我们还可以使用下面的代码在应用程序初始化命令中应用环境变量,假设我们正在运行一个名为app.js的脚本。

NODE_ENV = production node app.js

在 Windows 中,代码是不同的。我们使用下面的代码:

set NODE_ENV=production&&node app.js

因为不同的操作系统需要不同的命令,所以有一个名为cross-env的包可用,它使命令跨平台。

npx cross-env NODE_ENV=production node app.js

上面的代码可以在任何安装了 cross-env 包作为开发者依赖的平台上运行。

如果我们使用 express,我们可以提供特定于环境的设置,这些设置会根据我们正在处理的环境自动调用。

句法:

if(process.env.NODE_ENV == 'development') {
   // Code for Development Mode
} else {
   // Code for Testing Mode
}

假设我们的数据库服务器是本地主机,当我们在开发模式下工作时,我们将使用https://production-server.com进行生产。可以相应地设置代码。

if(process.env.NODE_ENV == 'development') {
    db.connect('localhost:1234')
} else {
    db.connect('https://production-server.com')
}

上面的代码将检查环境并相应地设置它的服务器。

结论:使用生产环境是一种很好的做法,因为在生产环境中,通常将日志记录保持在最低限度,并且为了优化性能而发生更多缓存级别。因此,每当我们将应用程序部署到生产服务器时,将环境变量设置为生产模式始终是一个好习惯。