Heroku に node.js の環境を作ってデプロイしてみる

Heroku に node.js の環境を作ってデプロイしてみることにしました。

↓このサイトの説明がすごくわかりやすかったです。

info-i.net

しかし、説明通りにして、デプロイして開くと、heroku でエラー表示になってしまいました。

そこで、heroku logs -t で、ログを出力すると、

Starting process with command npm start

とエラーが書いてありました。

調べてみると、package.json の中に書いてある、↓こちらの部分を

"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},

↓↓↓↓↓

"scripts": {
"start": "node index",
"test": "echo \"Error: no test specified\" && exit 1"
},

このように、「start」と書かかれている1行を追加してあげないとダメなようです。

修正して、heroku open のコマンドを打つと、

↓こちらのURLがブラウザで開き、

https://sheltered-crag-XXXXX/herokuapp.com/

hello world index.」と表示されました。

その時の index.js のコードが、↓こちら。

var express = require('express');
var http = require('http');

var app = express();
app.set('x-powered-by', false);
app.set('case sensitive routing', true);
app.set('strict routing', true);
app.use(function (req, res, next) {
res.status(200);
res.type('text/plain; charset=utf-8');
next();
});
app.get('/', function (req, res, next) {
res.send('hello world index.\r\n');
});
app.get('', function (req, res, next) {
res.status(404);
res.send(http.STATUS_CODES[404] + '\r\n');
});
app.all('
', function (req, res, next) {
res.status(501);
res.send(http.STATUS_CODES[501] + '\r\n');
});
var server = app.listen(process.env.PORT, function () {
console.log('http server is running...');

var f = false;
process.on('SIGTERM', () => {
if (f) {
return;
}
f = true;

console.log('http server is closing...');

server.close(function () {
console.log('http server closed.');
process.exit(0);
});
});
});
server.on('error', function (err) {
console.error(err);
process.exit(1);
});

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA