在请求外检索本地和heroku应用程序主机名

Dje*_*bbZ 10 heroku environment-variables node.js

我必须在我的应用程序中配置其中一个模块,并根据主机名为其指定一个特定的URL.像http://localhost本地和http://myapp.herokuapp.com.我知道我可以根据需要对值进行硬编码NODE_ENV,甚至将其存储为环境值并使用process.env.CUSTOMVAR_HOSTNAME.但不知何故,它感觉不对,因为myapp已经在Heroku管理面板中配置了.我无法使用,request.headers.host因为模块配置在应用程序启动时发生,然后才能处理任何请求.

有没有办法从代码中检索Heroku应用程序名称?还是来自环境变量?无论我是在本地执行代码还是在Heroku(或实际上任何其他地方)执行代码,我希望我的代码保持不变.

Dje*_*bbZ 8

我找不到任何方法,所以我创建了一个hostname基于NODE_ENV(developmentproduction)的局部变量,其中包含正确的主机名值.