قراءة ملف
جزء من قسم أساسيات Node.js في رحلة Node.js على Coddy. الدرس 10 من 24.
يبدأ كل تشغيل بالملاحظات الثلاث نفسها، لأنها لا توجد إلا في الذاكرة.
تقرأ readFileSync(path, 'utf8') من node:fs ملفًا على هيئة سلسلة نصية. يحتوي ملف الملاحظات على JSON، وهو تنسيق نصي للبيانات المكتوبة على هيئة مصفوفات وكائنات JavaScript، وتحول JSON.parse ذلك النص إلى مصفوفة. تؤدي قراءة ملف غير موجود إلى حدوث خطأ ENOENT، لذا تحقّق باستخدام existsSync أولًا.
import { existsSync, readFileSync } from 'node:fs';
const scores = existsSync('scores.json')
? JSON.parse(readFileSync('scores.json', 'utf8'))
: [];
console.log(scores.length);من دون 'utf8' ستحصل على مخزن مؤقت (Buffer)، أي البايتات الخام للملف، بدلًا من سلسلة نصية.
التحدي
سهل- يحمّل
store.jsملاحظاته منnotes.jsonبدلًا من القائمة الثابتة. - في حال عدم وجود
notes.json، يبدأ المخزن فارغًا وتطبعlistالعبارةNo notes yet.
شغّل node notes.js list. ثم شغّل node notes.js clear، الذي يحذف الملف، ثم شغّل list مرة أخرى. تعيد «إعادة ضبط الملفات» الملف.
جرّب بنفسك
// حمّل الملاحظات من notes.json بدلًا من هذه القائمة.
const store = {
notes: ['Buy milk', 'Call Ada', 'Water the plants'],
add(text) {
this.notes.push(text);
return this.notes.length;
},
};
export default store;
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.