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

如何在package.json中通过dotenv-cli使用环境变量配置生产端口?

解决React生产环境通过.env指定端口启动的问题

你当前的脚本写法无法正确读取.env里的PORT变量,以下是两种可行的修改方案:

方案一:通过命令执行结果传递端口值

修改package.json中的scripts部分,把start:prod改成:

"scripts": {
  "envport": "dotenv -p PORT",
  "start:prod": "serve -s build -l $(dotenv -p PORT)",
  "build:prod": "react-scripts build",
  "prod": "npm run build:prod && npm run start:prod"
}

这里用$(dotenv -p PORT)让shell先执行命令获取端口值,再传递给serve的-l参数。

方案二:直接加载环境变量后引用

用dotenv --先加载.env中的所有变量,之后直接用$PORT引用:

"scripts": {
  "envport": "dotenv -p PORT",
  "start:prod": "dotenv -- serve -s build -l $PORT",
  "build:prod": "react-scripts build",
  "prod": "npm run build:prod && npm run start:prod"
}

这种写法更直观,dotenv --会先把.env里的变量注入到当前shell环境,后续的serve命令就能直接使用$PORT。

两种方案都能实现通过.env指定的端口启动生产环境服务,推荐方案二,可读性更强。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 12:07:33