كتابة ملف
جزء من قسم أساسيات Node.js في رحلة Node.js على Coddy. الدرس 11 من 24.
تنسى add الملاحظة بمجرد انتهاء البرنامج.
تكتب writeFileSync(path, text) ملفًا، مستبدلةً كل ما كان يحتويه. تحوّل JSON.stringify مصفوفةً إلى نص JSON، وتُنسّقها null, 2 بمسافتين حتى يسهل قراءتها في «الملفات».
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 في «الملفات». ثم نفّذ 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;