2016-06-27 13 views
0

私は追加する設定値を持っているとは思わない... 私のpackage.jsonにnpm startを追加しました。私の反応アプリがHerokuでクラッシュするのはなぜですか?

これは私のserver.jsです var app = express();

var compiler = webpack(config); 

app.use(webpackDevMiddleware(compiler, {noInfo: true, publicPath: config.output.publicPath})); 
app.use(webpackHotMiddleware(compiler)); 

app.use(express.static('./dist')); 

app.use('/', function (req, res) { 
    res.sendFile(path.resolve('client/index.html')); 
}); 

var port = 8080; 

app.listen(port, function(error) { 
    if (error) throw error; 
    console.log("Express server listening on port", port); 
}); 

Herokuのアクティビティログ

2016-06-27T05:26:06.606689+00:00 app[web.1]: > [email protected] start /app 
2016-06-27T05:26:06.970312+00:00 app[web.1]: Express server listening on port 8080 
2016-06-27T05:26:12.086607+00:00 app[web.1]: webpack built ece2fe8356b0c26f2ade in 5135ms 
2016-06-27T05:26:44.560624+00:00 heroku[router]: at=error code=H20 desc="App boot timeout" method=GET path="/" host=pom1.herokuapp.com request_id=77a8ad82-edc4-4dfb-a624-b1a92a5f008c fwd="173.239.65.34" dyno= connect= service= status=503 bytes= 
2016-06-27T05:27:04.972688+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch 
enter code here 

答えて

0

アプリケーションはHerokuのは、それを提供するポートに接続されていないので、これはおそらく、タイムアウトです。あなたは(Herokuのによる)envionment変数で指定したポートがデフォルトになります。この

var port = process.env.PORT || 8080; 

ようなあなたのポートを宣言し、何もしない場合は8080に頼る必要がありますので、あなたは、環境変数を経由して、ポート番号が提供されますセット。

herokuのセクションには、これとHerokuへの展開について知っておくべき他のいくつかの要素がありますが、example applicationもあります。

関連する問題