跳到主要内容

环境变量

环境变量是操作系统中的一组动态的值,用于定义操作系统或应用程序的行为。

访问环境变量

process.env.环境变量名

一般的前端框架中,一般都设置的几个环境变量:

  • process.env.NODE_ENV 来区分开发环境和生产环境。开发环境和生产环境的值分别是 developmentproduction
  • process.env.PORT 启动应用的端口号。

设置环境变量

不同的系统,设置环境变量的方式不同。

Linux 或 macOS 系统中,可以通过以下命令设置环境变量:

PORT=5001 MYNAME=Joel node src/index.js

要将环境变量导出到全局的环境变量,加 export 前缀:

export PORT=5001 MYNAME=Joel node src/index.js
# echo $PORT => 5001
# unset PORT # 删除环境变量

Windows 的 Powershell 中,可以通过以下命令设置环境变量:

$env:PORT="5001"
$env:MYNAME="Joel"
node src\index.js

设置环境变量要跨系统,可以使用 cross-env 这个包。写法

cross-env PORT=5001 MYNAME=Joel node src/index.js

需要设置很多环境变量

环境变量很多时,用 dotenv 可以帮助我们方便地管理环境变量。

使用 dotenv,我们可以在一个 .env 文件中定义环境变量,然后在程序中使用 process.env 对象来访问这些环境变量。

.env 中的内容例如:

PORT=5001
MYNAME=Joel

使用

require('dotenv').config()
// ES6 的写法
// import * as dotenv from 'dotenv' // see https://github.com/motdotla/dotenv#how-do-i-use-dotenv-with-import
// dotenv.config()
process.env.PORT