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

时间:2012-10-16 00:31:24

标签: node.js heroku environment-variables

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

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

1 个答案:

答案 0 :(得分:8)

我找不到任何方法,所以我根据NODE_ENV(hostnamedevelopment)创建了一个具有正确主机名值的本地变量production