Node.js 词条目录
前端Wiki/词条/process 与环境变量

process 与环境变量

定义Node 的全局进程对象:存放环境变量(process.env)、退出码、标准流与生命周期事件

process 是 Node 全局对象(无需 require)。process.env 是环境变量的容器:系统 shell 传入的变量、启动时 NODE_ENV=production 写入的值都在这里。十二要素应用方法论要求「配置存环境变量」——数据库密码、API key 绝不写进代码,而从 env 注入。

process 还提供生存工具:process.exit(1) 立即退出(1 表示错误退出,CI 据此判失败)、process.argv 接收命令行参数、process.on('uncaughtException') 兜底致命错误、process.stdout/stderr 写日志。注意 process.env 的值永远是字符串:PORT=8080 读出来是 '8080',要 Number() 转一下;改 env 只影响当前进程。

JavaScript
// 读取并应用环境变量(配置 ≠ 代码)
const PORT = Number(process.env.PORT) || 3000;
const isProd = process.env.NODE_ENV === 'production';

// 启动方式:NODE_ENV=production PORT=8080 node app.js
// 跨平台:npx cross-env NODE_ENV=production node app.js

const http = require('http');
http.createServer((req, res) => res.end('ok'))
    .listen(PORT, () => console.log('监听', PORT));

// 命令行参数
console.log(process.argv);
// node app.js --name Tom → ['node','app.js','--name','Tom']

// 优雅退出:错误时返回退出码 1
process.on('uncaughtException', err => {
  console.error('致命错误:', err.message);
  process.exit(1);          // 非 0 = 失败,CI 判红
});
⚠ 常见误区
🔗 相关词条npm 与 package.jsonPM2 部署Node.js 是什么
← 返回来源章节全局对象与 process