Menu
CoddyTech

Запись в файл

Часть раздела Основы Node.js путешествия по Node.js на Coddy. Урок 11 из 24.

add забывает заметку, как только программа завершается.

writeFileSync(path, text) записывает файл, заменяя всё его содержимое. JSON.stringify преобразует массив в текст JSON, а null, 2 задаёт отступ в два пробела, чтобы содержимое было удобно читать в Files.

import { writeFileSync } from 'node:fs';

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

Файл всегда содержит весь массив: загрузи заметки, добавь одну и запиши их все обратно. Передача самого массива вызывает ошибку, потому что файл хранит текст.

challenge icon

Задание

Легко
  • add добавляет заметку и сохраняет все заметки в notes.json.
  • Она выводит Saved note 3. с номером новой заметки.

Запусти node notes.js add Buy bread, затем list и открой 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