あなたのアプリをHerokuでビルドするには、package.jsonにpostinstall
スクリプトを使用するのが一般的です(詳細はofficial docsを参照してください)。あるいは、heroku-postbuild
というnpmスクリプトを追加することもできます。
どちらの場合でも、環境変数$PORT
はすでに設定されていて、ビルド時には60秒のタイムアウト制限はありません。
ビルド(afaik)後に実行時に環境変数を読み取ることができない場合、Webpackにprocess.env
変数を置き換えないように指示する必要があります。しかし、ビルド時に定義された値で設定することができます(例えば、DefinePlugin, the EnvironmentPlugin or an aliasで設定可能)。
UPDATE:$PORT
環境変数がpostinstall
/heroku-postbuild
実行時に設定されていない
、したがって、前に述べたように、ほとんどのコードにコンパイルしないことが推奨されていません。しかし、それでもpostinstall
/heroku-postbuild
スクリプトのいずれかを使用してHerokuでアプリを構築することをお勧めします。
ローカルでアプリケーションを実行したい場合、あなたはこのように、ご自身でご$PORT
環境変数を設定する必要があります。
$> PORT=8000 node app.js