Menu
CoddyTech

ファイルの読み込み

CoddyのNode.jsジャーニー「Node.jsの基礎」セクションの一部。レッスン 10/24。

毎回の実行で同じ3つのメモが表示されるのは、それらがメモリ内にしか存在しないためです。

node:fsのreadFileSync(path, 'utf8')は、ファイルを文字列として読み込みます。メモファイルにはJSONが格納されます。これは、JavaScriptの配列やオブジェクトのように記述されたデータ形式であり、JSON.parseはそのテキストを配列に変換します。存在しないファイルを読み込むとENOENTエラーが発生するため、まずexistsSyncで確認します。

import { existsSync, readFileSync } from 'node:fs';

const scores = existsSync('scores.json')
    ? JSON.parse(readFileSync('scores.json', 'utf8'))
    : [];
console.log(scores.length);

'utf8'を指定しないと、文字列ではなくBuffer(ファイルの生のバイト列)が返されます。

challenge icon

チャレンジ

簡単
  • store.js は固定リストの代わりに notes.json からメモを読み込みます。
  • notes.json がない場合、ストアは空の状態で始まり、list は No notes yet と表示します。

node notes.js list を実行します。次に、ファイルを削除する node notes.js clear を実行し、もう一度 list を実行します。「Reset files」を実行すると、ファイルが元に戻ります。

自分で試してみよう

// このリストの代わりに notes.json からメモを読み込む。
const store = {
    notes: ['Buy milk', 'Call Ada', 'Water the plants'],
    add(text) {
        this.notes.push(text);
        return this.notes.length;
    },
};

export default store;
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

Node.jsの基礎のすべてのレッスン