Bruk av Filer som Enkel Lagring
Sveip for å vise menyen
Så langt har du lært å:
- Lese data fra en fil;
- Skrive data til en fil;
- Legge til nytt innhold.
Nå er det på tide å bruke filer som et enkelt lagringssystem.
Hvorfor vi trenger strukturert data
Å lagre ren tekst er ikke tilstrekkelig for ekte applikasjoner.
For eksempel:
First note
Second note
Dette er vanskelig å håndtere fordi:
- Vi kan ikke enkelt oppdatere en spesifikk notat;
- Vi kan ikke organisere data;
- Vi kan ikke legge til ekstra informasjon.
Bruke JSON for lagring
For å lagre strukturert data bruker vi JSON.
JSON ser ut som et JavaScript-objekt:
[
{ "text": "First note" },
{ "text": "Second note" }
]
Dette formatet lar oss:
- Lagrer flere elementer;
- Organisere data tydelig;
- Arbeide med det i kode.
Steg 1: Les data fra en fil
const fs = require('fs');
const data = fs.readFileSync('notes.json', 'utf-8');
Dette returnerer en streng.
Steg 2: Konverter JSON til JavaScript
const notes = JSON.parse(data);
Nå er notes et ekte array vi kan arbeide med.
Steg 3: Oppdater data
notes.push({ text: 'New note' });
Vi legger til et nytt notat i arrayet.
Steg 4: Lagre data tilbake til filen
fs.writeFileSync('notes.json', JSON.stringify(notes));
JSON.stringifykonverterer JavaScript tilbake til JSON;- filen oppdateres med nye data.
Fullstendig 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 av første kjøring (tom fil)
Hvis filen ikke eksisterer eller er tom, vil appen krasje.
Dette kan løses ved å starte med et tomt array:
let notes = [];
try {
const data = fs.readFileSync('notes.json', 'utf-8');
notes = JSON.parse(data);
} catch (error) {
notes = [];
}
Alt var klart?
Takk for tilbakemeldingene dine!
Seksjon 1. Kapittel 24
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Seksjon 1. Kapittel 24