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

运行npm run start指定dev环境时Express仍加载prod配置是什么原因

问题原因

  • 你在package.json的start脚本中使用的ENV=development语法仅适配 Linux、macOS 等类 Unix 系统,如果你在 Windows 系统下通过 CMD / PowerShell 执行命令,该语法无法被识别,process.env.ENV不会被赋值,触发默认回退逻辑取到production,最终导致配置读取错误。
  • 小概率场景:如果你在类 Unix 系统下运行仍出现该问题,可检查系统是否全局配置了ENV环境变量,覆盖了脚本内的临时赋值。

修复方案

推荐使用跨平台环境变量工具cross-env统一不同系统的环境变量注入语法,操作步骤如下:

  1. 安装开发依赖:
npm install cross-env --save-dev
  1. 修改package.json的scripts字段:
"scripts": {
  "start": "cross-env ENV=development nodemon ./bin/www",
  "production": "cross-env ENV=production node ./bin/www",
  "deploy-pre": "git commit --allow-empty -m 'ci-master' && git push origin master",
  "lint": "eslint"
}

如果你仅在 Windows 下开发不需要兼容其他系统,也可以直接修改start脚本为 Windows 兼容写法:

"start": "set ENV=development&&nodemon ./bin/www"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 19:00:00