Node.jsでサクッと天気アプリを作ってみた!
こんにちは!最近Node.jsの勉強をしている私ですが、今回は 「簡単な天気アプリ」 を作ってみました!
「APIを叩くってよく聞くけど、実際どうやるの?」という疑問を持っている方に向けて、
リクエストを投げてデータを取得する流れ を分かりやすく解説します!
🌦️ どんなアプリ?
- コマンドラインで都市名を入力すると、その場所の気温を教えてくれる!
- OpenWeatherMap APIを利用して、リアルタイムの天気情報を取得!
- Node.jsの
request
モジュールを使ってAPIにアクセス!
🛠 必要なもの
- Node.js(インストール済みであること)
- OpenWeatherMapのAPIキー(無料で取得できます)
-
dotenv
モジュール(環境変数を管理) -
request
モジュール(APIリクエスト用)
📝 コードを書いてみる!
まず、必要なモジュールをインストールします。
npm init -y # package.jsonを作成
npm install request dotenv # 必要なライブラリをインストール
次に、.env
ファイルを作成して、APIキーを設定します。
API_KEY=あなたのAPIキー
では、実際のコードを weather.js
に書いていきます!
const request = require("request");
const dotenv = require("dotenv").config();
const argv = process.argv[2];
// console.log(argv)
const options ={
url : `https://api.openweathermap.org/data/2.5/weather?q=${argv}&units=metric&appid=${process.env.API_KEY}`,
method:"GET",
json: true,
};
request(options,(error,res,body)=>{
if(error){
console.log("エラーが発生しました",error);
return;
}
if(body.cod !==200){
console.error("そんな都市ないぞ!!");
return;
}
console.log(`${argv}の気温は`+ body.main.temp+`度だぞ!`)
})
🚀 実行してみよう!
ターミナルで以下のコマンドを実行してみます。
node weather.js Tokyo
すると…
Tokyoの気温は15度だぞ!
みたいな感じで気温が表示されます!(※温度は実際のものと異なります)
🧐 解説
-
process.argv[2]
でコマンドライン引数(都市名)を取得! - OpenWeatherMapのAPIにリクエストを送る!
-
body.main.temp
から温度を取得! - 結果を
console.log
で出力!
シンプルだけど、APIを使う基本の流れが身につくのでオススメです💡
🎉 まとめ
- Node.jsで外部APIを叩いてデータを取得する方法を学んだ!
-
request
モジュールを使ってサクッとGETリクエストを送信! -
.env
を使ってAPIキーを安全に管理!
「ちょっと試してみたい!」という方は、ぜひこのコードをコピペして遊んでみてください✨
では、また次の記事で!👋