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); });