JavaScriptで作ったAPIアプリを、Node.jsで動かします。
Node.jsは「JavaScriptをサーバーサイドで動かすための実行環境」です。
node.js のインストール
まだインストールしていない場合は下記手順でインストールします。
■インターネット接続を検査する。
$ ping google.com
■node.js をインストールする。
# nvmをダウンロードしてインストールする:
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
# シェルを再起動する代わりに実行する
$ source "$HOME/.nvm/nvm.sh"
または
$ . "$HOME/.nvm/nvm.sh"
# Node.jsをダウンロードしてインストールする:
$ nvm install 24
■インストールできたことを検査する
$ node -v
# "v24.8.0"が表示される
$ npm -v
# " 11.6.0"が表示される
$ nvm -v
# "v0.40.3"が表示される
「おみくじアプリ」を動かしてみる
[app]ディレクトリを作って、新しいファイル[test.js]を作って、下記コードを記述する
const fortunes = [
"大吉",
"中吉",
"小吉",
"吉",
"末吉",
"凶",
"大凶"
];
const spinnerFrames = ['/', '|', '\\', '-'];
let frameIndex = 0;
process.stdout.write("占い中… ");
const spinnerInterval = setInterval(() => {
process.stdout.write('\r占い中… ' + spinnerFrames[frameIndex]);
frameIndex = (frameIndex + 1) % spinnerFrames.length;
}, 100); // 100msごとに更新(1秒で10回転)
setTimeout(() => {
clearInterval(spinnerInterval);
const result = fortunes[Math.floor(Math.random() * fortunes.length)];
console.log('\rあなたの今日の運勢は…');
console.log("🔮", result);
}, 3000); // 3秒後に結果表示
アプリを実行する。今日の運勢が表示されたら成功。
$ node test.js
REST-APIアプリを作る
Node.jsで動く「おみくじアプリ」をHTTP API化して、ポート3000でJSONレスポンスを返すように改造する。
WEBアプリのフレームワーク「Express」をインストールします。
$ npm install express
[app]ディレクトリに新しいファイル[test-api.js]を作って、下記コードを記述する
const express = require('express');
const app = express();
const PORT = 3000;
const fortunes = [
"大吉",
"中吉",
"小吉",
"吉",
"末吉",
"凶",
"大凶"
];
app.get('/omikuji', (req, res) => {
const result = fortunes[Math.floor(Math.random() * fortunes.length)];
res.json({
message: "あなたの今日の運勢は…",
result: result
});
});
app.listen(PORT, () => {
console.log(`Omikuji API is running on http://localhost:${PORT}/omikuji`);
});
APIアプリは実行すると、ポート3000で待ち受けします
$ node test-api.js
Omikuji API is running on http://localhost:3000/omikuji
サーバーローカル(成功したらブラウザ)から、APIアプリにアクセスします。
$ curl http://localhost:3000/omikuji
{"message":"あなたの今日の運勢は…","result":"吉"}