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')
}
上面的代码将检查环境并相应地设置它的服务器。
结论:使用生产环境是一种很好的做法,因为在生产环境中,通常将日志记录保持在最低限度,并且为了优化性能而发生更多缓存级别。因此,每当我们将应用程序部署到生产服务器时,将环境变量设置为生产模式始终是一个好习惯。