Brug af Filer som Simpel Lagring
Stryg for at vise menuen
Indtil nu har du lært at:
- Læse data fra en fil;
- Skrive data til en fil;
- Tilføje nyt indhold.
Nu er det tid til at bruge filer som et simpelt lagringssystem.
Hvorfor vi har brug for strukturerede data
At gemme almindelig tekst er ikke tilstrækkeligt til rigtige applikationer.
For eksempel:
First note
Second note
Dette er svært at håndtere, fordi:
- Det er ikke let at opdatere en specifik note;
- Det er ikke muligt at organisere data;
- Det er ikke muligt at tilføje ekstra information.
Brug af JSON til lagring
For at gemme strukturerede data bruger vi JSON.
JSON ligner et JavaScript-objekt:
[
{ "text": "First note" },
{ "text": "Second note" }
]
Dette format gør det muligt at:
- Gemme flere elementer;
- Organisere data tydeligt;
- Arbejde med det i kode.
Trin 1: Læs data fra en fil
const fs = require('fs');
const data = fs.readFileSync('notes.json', 'utf-8');
Dette returnerer en streng.
Trin 2: Konverter JSON til JavaScript
const notes = JSON.parse(data);
Nu er notes et rigtigt array, som vi kan arbejde med.
Trin 3: Opdater data
notes.push({ text: 'New note' });
Vi tilføjer en ny note til arrayet.
Trin 4: Gem data tilbage til filen
fs.writeFileSync('notes.json', JSON.stringify(notes));
JSON.stringifykonverterer JavaScript tilbage til JSON;- filen opdateres med nye data.
Fuldstændigt eksempel
const fs = require('fs');
// Read file
const data = fs.readFileSync('notes.json', 'utf-8');
// Convert to JS
const notes = JSON.parse(data);
// Update data
notes.push({ text: 'Learn Node.js' });
// Save back
fs.writeFileSync('notes.json', JSON.stringify(notes));
Håndtering af første kørsel (tom fil)
Hvis filen ikke eksisterer eller er tom, vil appen gå ned.
Dette kan løses ved at starte med et tomt array:
let notes = [];
try {
const data = fs.readFileSync('notes.json', 'utf-8');
notes = JSON.parse(data);
} catch (error) {
notes = [];
}
Var alt klart?
Tak for dine kommentarer!
Sektion 1. Kapitel 24
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Sektion 1. Kapitel 24