Menu
CoddyTech

Escrevendo em um arquivo

Parte da seção Fundamentos de Node.js do Journey de Node.js da Coddy. Lição 11 de 24.

add esquece a nota assim que o programa termina.

writeFileSync(path, text) grava um arquivo, substituindo tudo o que ele continha. JSON.stringify transforma um array em texto JSON, e null, 2 o indenta com dois espaços para facilitar a leitura em Files.

import { writeFileSync } from 'node:fs';

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

O arquivo sempre recebe o array inteiro: carregue as notas, adicione uma e grave todas de volta. Passar o próprio array causa um erro, porque um arquivo contém texto.

challenge icon

Desafio

Fácil
  • add adiciona a nota e salva todas as notas em notes.json.
  • Ele exibe Saved note 3. com o número da nova nota.

Execute node notes.js add Buy bread, depois list e abra notes.json em Arquivos. Em seguida, use clear e add mais uma vez com o disco vazio.

Experimente você mesmo

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;

Todas as lições de Fundamentos de Node.js