2012-10-16 8 views
7

アプリケーションのモジュールを1つ設定し、ホスト名に基づいて特定のURLを指定する必要があります。ローカルにはhttp://localhosthttp://myapp.herokuapp.comなどです。私はちょうどNODE_ENVに応じて値をハードコードすることができ、あるいはそれを環境値として保存してprocess.env.CUSTOMVAR_HOSTNAMEを使用することもできます。しかし、どういうわけか、それは間違っていると感じています。myappは、Herokuの管理パネルで既に設定されています。 request.headers.hostを使用することはできません。アプリケーションの開始時にモジュール設定が行われるため、要求が処理される前です。要求の範囲外のlocalとherokuアプリケーションのホスト名を取得する

コードからHerokuアプリケーション名を取得する方法はありますか?あるいは、環境変数から?コードをローカルで実行している場合でも、Heroku(または実際には他の場所)で実行している場合でも、私のコードは同じままにしておきたいです。

答えて

6

どのような方法も見つからなかったので、適切なホスト名の値を持つNODE_ENV(developmentまたはproduction)に基づいてローカル変数hostnameを作成しました。