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

Nuxt.js部署至Heroku后process.env.variable失效问题求助

解决Heroku部署后process.env变量显示undefined的问题
  • 核对变量名称的精确匹配
    确认Heroku配置变量的名称和代码中process.env.variable的引用完全一致,包括大小写——Heroku的配置变量严格区分大小写,MY_VAR和my_var会被识别为两个不同变量。

  • 验证变量在Heroku环境中的存在性
    通过Heroku CLI执行heroku config -a 你的应用名称,查看输出的变量列表,确认目标变量存在且值正确。如果列表中没有该变量,重新执行添加命令:heroku config:set VARIABLE_NAME=对应值 -a 你的应用名称。

  • 检查变量引用的时机
    确保代码在Heroku环境变量加载完成后才读取process.env.variable。比如模块初始化阶段直接读取变量,可能因环境变量未注入导致undefined,建议将变量读取逻辑放在运行时(如请求处理函数内部)。

  • 排查dotenv等工具的冲突
    如果本地开发使用了dotenv,需确保部署到Heroku时仅在开发环境调用require('dotenv').config(),避免加载本地.env文件干扰Heroku的配置变量。

  • 确认构建/打包流程的正确性
    若应用需要构建(如React、Vue项目),必须保证构建过程在Heroku环境中执行,这样环境变量才能注入到构建产物中。本地构建后再上传的话,只会打包本地.env的变量,Heroku的配置无法生效。可修改package.json的scripts确保构建在服务器端执行:

    "scripts": {
      "build": "react-scripts build",
      "start": "node server.js"
    }
    
  • 查看Heroku应用日志
    执行heroku logs --tail -a 你的应用名称,查看应用启动和运行日志,排查是否有环境变量加载相关的错误提示,比如权限问题、注入失败信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 19:56:50