
これ、要る?
いりませんよね。
新規フォルダ 「npm_cowsay」作成
ターミナルを開く→cdで npm_cowsayフォルダまで移動
npm init -yで実行。プロジェクトを初期化した。(オプション -yで対話形式を飛ばした)
npm install cowsay でcowsayをインストール
npm_cowsayディレクトリにapp.jsを作成。
const cowsay = require('cowsay');console.log( cowsay.say({ text: 'もーーーん', e: 'oO', T: 'U ', }),);
ファイルでrequireで読み込んで
こんな簡単なものでも膨大にダウンロードしたライブラリコードを使って
決められたルールで表示される文字や舌の描画をコードに書き込み
node app.js のコマンドでそのファイルを読み込むと、、、

しょーーーーーーーーーもな!!
でもこれが学習。これでnpmで何やったか、なんのためにあるのか?一通り学習しました。
天気予報アプリを作る
次の章へ進む
新規フォルダ 「wheather_app」作成
ターミナルを開く→cdで wheather_appフォルダまで移動

npm init -yで実行。プロジェクトを初期化した。(オプション -yで対話形式を飛ばした)
npm install axios を実行して上記写真のパッケージをインストール
app.jsファイルをweather_app配下に作成し以下のコードを書き込む
'use strict';const axios = require('axios');const api_key = `${process.env.API_KEY}`;const { read } = require('fs');// readline は、一言で言うと**「Node.jsでキーボード入力(標準入力)を受け取るための道具」**です。// 「一行ずつ読み込む(read line)機能」を読み込みます。const readline = require('readline');// createInterface:「入り口(input)」と「出口(output)」をつなげます。const rl = readline.createInterface({ // input: process.stdin: キーボードからの入力を受け取る。 input: process.stdin, // output: process.stdout: 画面に文字を出す。 output: process.stdout,});function get_weather_by_zip_code(formatted_zip) { const url = `https://api.openweathermap.org/data/2.5/weather?zip=${formatted_zip},JP&appid=${api_key}&lang=ja`; axios .get(url) .then(function (response) { const weather_data = response.data; console.log(weather_data); }) .catch(function (error) { console.log('エラーが発生しました。郵便番号を確認してね'); });}// 第一引数はユーザーに表示するメッセージ。// 第二引数にユーザーが入力した内容が渡されるrl.question('郵便番号を入力してください(半角数字7桁):', (zip) => { // 入力が管領した後にインターフェイスを閉じる処理 if (!zip || isNaN(zip) || zip.length !== 7) { console.log('有効な7桁の郵便番号を入力してください。'); } else { // index0番目から3つを切り取る + index3より後をすべて切り取る let formatted_zip = `${zip.slice(0, 3)}-${zip.slice(3)}`; console.log(`入力された郵便番号はは${formatted_zip}ですね`); get_weather_by_zip_code(formatted_zip); } rl.close();});
API KEYを安全に保管する

api keyは.envというファイルでトップ階層に保存し、、、

この書き方で呼び出し、、、

git ignoreファイルでgithubにアップしないようにする
コメントを残す