Använda Filer som Enkel Lagring
Svep för att visa menyn
Hittills har du lärt dig att:
- Läsa data från en fil;
- Skriva data till en fil;
- Lägga till nytt innehåll.
Nu är det dags att använda filer som ett enkelt lagringssystem.
Varför vi behöver strukturerad data
Att lagra vanlig text räcker inte för riktiga applikationer.
Till exempel:
First note
Second note
Detta är svårt att hantera eftersom:
- Vi kan inte enkelt uppdatera en specifik anteckning;
- Vi kan inte organisera data;
- Vi kan inte lägga till extra information.
Använda JSON för lagring
För att lagra strukturerad data använder vi JSON.
JSON ser ut som ett JavaScript-objekt:
[
{ "text": "First note" },
{ "text": "Second note" }
]
Detta format gör att vi kan:
- Lagra flera objekt;
- Organisera data tydligt;
- Arbeta med det i kod.
Steg 1: Läs data från en fil
const fs = require('fs');
const data = fs.readFileSync('notes.json', 'utf-8');
Detta returnerar en sträng.
Steg 2: Konvertera JSON till JavaScript
const notes = JSON.parse(data);
Nu är notes en riktig array som vi kan arbeta med.
Steg 3: Uppdatera data
notes.push({ text: 'New note' });
Vi lägger till en ny anteckning i arrayen.
Steg 4: Spara data tillbaka till filen
fs.writeFileSync('notes.json', JSON.stringify(notes));
JSON.stringifykonverterar JavaScript tillbaka till JSON;- filen uppdateras med ny data.
Fullständigt exempel
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));
Hantering av första körningen (tom fil)
Om filen inte finns eller är tom kommer appen att krascha.
Detta kan åtgärdas genom att börja med en tom array:
let notes = [];
try {
const data = fs.readFileSync('notes.json', 'utf-8');
notes = JSON.parse(data);
} catch (error) {
notes = [];
}
Var allt tydligt?
Tack för dina kommentarer!
Avsnitt 1. Kapitel 24
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Avsnitt 1. Kapitel 24