Skip to content

Node.js 的环境变量、进程、命令行与脚本运行

Node.js 在前端项目里还有一条非常高频的主线,就是:脚本到底运行在什么环境里,当前进程是谁,命令行参数从哪里来。

1. 为什么这一块很重要

现代前端项目经常会遇到:

  1. 根据环境变量切换行为
  2. 在命令行里执行构建或发布脚本
  3. 获取运行参数
  4. 控制脚本退出状态

这些都和 process 这条主线直接相关。

2. process 到底是什么

可以看成 Node.js 提供的当前进程运行时信息入口

前端最常接触的通常包括:

  1. process.env
  2. process.argv
  3. process.cwd()
  4. process.exit()

3. 环境变量在解决什么问题

环境变量主要解决的是:让代码在不同运行环境里表现不同,而不必把所有差异硬编码进源码。

常见场景:

  1. 区分开发、测试、生产环境
  2. 传入接口地址
  3. 控制功能开关
  4. 读取密钥或令牌

4. 命令行参数怎么理解

Node.js 脚本不一定只能“固定执行”。

很多时候,我们希望通过命令行参数让脚本更灵活,例如:

bash
node build.js --mode production

这时脚本就可以根据参数做不同处理。

5. 当前工作目录为什么重要

process.cwd() 很重要,因为很多相对路径,最终都是相对于当前工作目录解析的。

如果这个边界搞错,就很容易出现:

  1. 本地能跑
  2. CI 里路径错掉
  3. 脚本换个执行位置就失效

6. 退出码在表达什么

命令行脚本结束时,不只是“打印一下日志”就够了。

退出码往往还在告诉外部系统:

  1. 这次执行成功还是失败
  2. CI 是否应该继续后续步骤
  3. 调用方是否应该中断

7. 一份检查清单

使用 Node.js 脚本能力时,至少可以自查:

  1. 当前配置应该来自源码、命令行还是环境变量
  2. 是否依赖了当前工作目录
  3. 失败时是否正确返回退出码
  4. 日志是否足够帮助排查问题

8. 小结

如果压缩成一句话,可以记住:

Node.js 的 process、环境变量和 CLI 能力,是现代前端自动化脚本和工程流程运行的控制面。

基于 VitePress 构建的个人技术笔记。