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

我必须在我的应用程序中configuration一个模块,并根据主机名给它一个特定的URL。 就像http://localhost local和http://myapp.herokuapp.com 。 我知道我可以根据NODE_ENV硬编码值,或者甚至将其作为环境值存储并使用process.env.CUSTOMVAR_HOSTNAME 。 但不知何故,它感觉不对,因为myapp已经在Herokupipe理面板中configuration。 而且我不能使用request.headers.host因为模块configuration在应用程序开始时发生,在任何请求可以被处理之前。

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

我没有find任何方法,所以我创build了一个基于NODE_ENV( developmentproduction )具有正确的主机名值的本地variableshostname名。