Menu
CoddyTech

ファイルへの書き込み

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

addはプログラムが終了するとすぐにメモを忘れてしまいます。

writeFileSync(path, text)はファイルを書き込み、そこにあった内容をすべて置き換えます。JSON.stringifyは配列をJSONテキストに変換し、null, 2は読みやすいように2つのスペースでインデントします。

import { writeFileSync } from 'node:fs';

const scores = [12, 40];
scores.push(31);
writeFileSync('scores.json', JSON.stringify(scores, null, 2));

ファイルには常に配列全体が書き込まれます。メモを読み込み、1つ追加して、すべてを書き戻します。配列そのものを渡すとエラーになります。ファイルに保存できるのはテキストだからです。

challenge icon

チャレンジ

簡単
  • addはメモを追加し、すべてのメモをnotes.jsonに保存します。
  • 新しいメモの番号とともにSaved note 3.を出力します。

node notes.js add Buy breadを実行し、次にlistを実行して、Filesでnotes.jsonを開きます。その後、空のディスクでclearを実行してから、もう一度addを実行します。

自分で試してみよう

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

const file = 'notes.json';

const store = {
    notes: existsSync(file) ? JSON.parse(readFileSync(file, 'utf8')) : [],
    add(text) {
        this.notes.push(text);
        return this.notes.length;
    },
};

export default store;

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