You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在NodeJS CLI应用中设置NODE_ENV,无需每次命令行指定

解决Node.js CLI默认加载环境变量的问题

方法一:在入口文件设置默认环境变量

直接在CLI的入口文件(比如index.js)最顶部添加环境变量默认值,确保在加载dotenv前完成设置:

// index.js 首行代码
process.env.NODE_ENV = process.env.NODE_ENV || 'development';

// 加载对应环境的.env文件
require('dotenv').config({
  path: `.env.${process.env.NODE_ENV}`
});

// 后续的CLI业务逻辑
// ...

执行myapp时,NODE_ENV会默认设为development,自动加载.env.development;如果需要生产环境,依然可以通过NODE_ENV=production myapp覆盖默认值,加载.env.production。

方法二:通过package.json脚本简化启动(可选)

如果你的CLI是通过npm全局安装的,可以在package.json的scripts里定义快捷命令,方便不同环境启动:

{
  "name": "myapp",
  "bin": "./index.js",
  "scripts": {
    "start": "NODE_ENV=development node index.js",
    "prod": "NODE_ENV=production node index.js"
  }
}

执行npm start即可启动开发环境,npm run prod启动生产环境。但如果希望直接用myapp启动,方法一更直接。

跨平台兼容(可选)

如果需要在Windows系统上正常设置环境变量,可使用cross-env包消除平台差异:

  1. 安装依赖:
npm install cross-env --save-dev
  1. 修改package.json脚本(入口文件逻辑不变的前提下,用它设置启动命令):
"scripts": {
  "start": "cross-env NODE_ENV=development node index.js"
}

内容的提问来源于stack exchange,提问作者WaLinke

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 00:05:33