כתיבת קובץ
חלק מהיחידה יסודות 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));הקובץ תמיד מקבל את המערך כולו: טוענים את ההערות, מוסיפים אחת וכותבים את כולן בחזרה. העברת המערך עצמו גורמת לשגיאה, כי קובץ מכיל טקסט.
אתגר
קלaddמוסיף את ההערה ושומר כל הערה ב-notes.json.- הוא מדפיס
Saved note 3.עם מספרה של ההערה החדשה.
הריצו node notes.js add Buy bread, ואז list, ופתחו את notes.json ב-Files. לאחר מכן הריצו 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;