القراء مثلك يساعدون في دعم MUO. عند إجراء عملية شراء باستخدام الروابط الموجودة على موقعنا ، فقد نربح عمولة تابعة.
يعد العمل مع الملفات أحد أكثر المهام شيوعًا التي يقوم بها البرنامج ، لذا وفر الوقت والجهد باستخدام مكتبة مساعد Node.
تتمثل إحدى الميزات المضمنة في Node.js في معالجة نظام ملفات نظام التشغيل باستخدام الوحدة النمطية fs. تحتوي وحدة Node.js هذه على العديد من الوظائف المفيدة للعمل مع الملفات والأدلة.
يشار إلى الملفات ببساطة على أنها كائنات ثابتة أو أجزاء من البيانات يتم تخزينها عادةً على وسيط ثابت يعرف باسم القرص أو الذاكرة. يمكن أن تكون الملفات من أنواع مختلفة ، من ملفات نصية إلى ملفات صور وملفات صوتية وغير ذلك الكثير.
إذن ، ما هو نظام الملفات ، وكيف يمكنك التفاعل بسهولة مع نظام ملفات نظام التشغيل في Node.js؟
ما هو نظام الملفات؟
يحدد نظام الملفات كيف يمكن لنظام التشغيل تحديد الملفات وتنظيمها وتخزينها والوصول إليها ، إلى جانب العمليات الأخرى.
يقوم نظام الملفات الخاص بنظام التشغيل أيضًا بمهمة تجميع الملفات في مجموعات تعرف باسم الدلائل أو المجلدات. الملفات والدلائل العادية هي الأجزاء الأكثر شيوعًا في نظام الملفات والتي غالبًا ما يتم التفاعل معها من بين العديد من الأجزاء الأخرى.
تتضمن بعض الأمثلة على أنظمة الملفات نظام ملفات التكنولوجيا الجديدة (NTFS) ونظام ملفات UNIX (UFS) ونظام الملفات الهرمي (HFS).
ما هي وحدة Node.js fs؟
Node.js خ الوحدة النمطية هي مكتبة مضمنة توفرها Node.js للعمل مع نظام الملفات لأي نظام تشغيل يدعم Node. ال خ الوحدة النمطية يمكن الوصول إليها بسهولة وهي مكتبة go-to لعمليات الملفات مثل القراءة من الملفات أو كتابة البيانات إلى ملفات في Node.js.
يتم استخدامه بشكل شائع مع ملف طريق و نظام التشغيل وحدات لأداء عمليات مختلفة على الملفات. لاستخدام ال خ الوحدة النمطية في برامجك ، يمكنك استيرادها إلى شفرة المصدر الخاصة بك كما هو موضح في الكود أدناه.
// CommonJS
مقدار ثابت خ = يتطلب("fs")
// ES6
يستورد خ من 'fs'
ما هي وحدة مسار Node.js؟
يمكنك استخدام Node.js طريق وحدة لمعالجة مسارات الملفات. يتضمن أدوات مساعدة للتفاعل بسهولة مع مسارات الملفات والدليل. باستخدام خ و طريق الوحدات النمطية جنبًا إلى جنب لإكمال مهمة هي ممارسة قياسية. هذا لأن غالبية خ تعتمد وظائف الوحدة النمطية على المسارات لاستهداف الملفات أو الدلائل لتعمل.
يمكنك استيراد ملف طريق وحدة في التعليمات البرمجية الخاصة بك مع بناء الجملة أدناه:
// CommonJS
مقدار ثابت المسار = يتطلب('طريق')
// ES6
يستورد طريق من 'طريق'
الوظائف الشائعة للوصول إلى نظام الملفات في Node.js
فيما يلي أكثر Node.js استخدامًا خ و طريق الوحدة النمطية ، وكيفية استخدامها للتفاعل مع الملفات والأدلة.
العمل مع المسارات
-
المسار. هذه هي وظيفة حل مسار من قائمة تعليمات المسار التي تم تمريرها كمعلمات. على سبيل المثال:
path.resolve ("الصفحة الرئيسية" ، "المشاريع" ، "الويب") ؛
// عائدات/home/projects/web path.resolve ("المنزل / المشاريع / الويب"، "../mobile") ؛
// عائدات/home/projects/mobile -
المسار. ال تطبيع تقوم الدالة بإرجاع المسار الصحيح والمعيار من مسار إدخال معين. على سبيل المثال:
path.normalize ('home / projects / web /../ mobile /./ code') ؛
// يعيد الصفحة الرئيسية / المشاريع / الجوال / الكود -
المسار. الانضمام: تنشئ هذه الوظيفة مسارًا للخروج من عدة مقاطع. على سبيل المثال:
path.join ('home'، 'projects'، '../'، 'movies')؛
// يعود المنزل / الأفلام -
path.basename: ال الاسم الأساسي تقوم الدالة بإرجاع مقطع المسار النهائي. يمكنك استخدامه بطريقتين:
path.basename ('home / projects / web / index.js') ؛
// يُرجع index.jspath.basename ('home / projects / web / index.js'، '.js') ؛
// يزيل الامتداد ويعيد "الفهرس" -
اسم المسار: تقوم هذه الوظيفة بإرجاع المسار إلى الدليل الأخير لمسار معين. مثال:
path.dirname ('home / projects / web / index.js') ؛
// إرجاع الصفحة الرئيسية / المشاريع / الويب -
path.extname: باستخدام هذه الوظيفة ، يمكنك الحصول على امتداد لملف من مسار معين.
path.extname ('home / projects / web / index.js') ؛
// تعيد ".js"
فتح وإغلاق الملفات
-
فتح: هذه هي وظيفة فتح أو إنشاء ملف بشكل متزامن في Node.js. الشكل المتزامن لـ فتح يكون fs.openSync. فتح أيقبل أربع وسائط وهي مسار الملف ، والعلامات ، ووضع الفتح ، ووظيفة رد الاتصال. أعلام و يفتحوضع لها قيمة افتراضية ، ويمكنك معرفة المزيد عنها من Node.js fs.open توثيق.
مقدار ثابت filePath = path.join (__dirname، '/videos/newVideo.mp4 ') ؛
// __dirname يعيد المسار إلى دليل العمل الحالي.
// filePath =/videos/newVideo.mp4 fs.open (مسار الملف ، (خطأ ، fileDescriptor) => {
// معالجة الأخطاء
وحدة التحكم.log (fileDescriptor) ؛ // يطبع عددًا صحيحًا يمثل واصف الملف
}) -
fs. close: من الجيد دائمًا إغلاق أي ملفات مفتوحة عندما لا تكون هناك حاجة إليها. يحتوي Node.js على الامتداد fs. close وظيفة لهذا:
fs.open (مسار الملف ، (خطأ ، fileDescriptor) => {
// معالجة الأخطاء ، مثل "الملف / الدليل غير موجود"
وحدة التحكم.log (fileDescriptor) ؛// أغلق الملف
fs.close (fileDescriptor ، (خطأ) => {
// معالجة الأخطاء
وحدة التحكم.log ("تم إغلاق الملف بنجاح") ؛
});
})
إنشاء وحذف
-
fs.mkdir: هذا يعمل تمامًا مثل مكدير الأمر الطرفي الذي ينشئ دليلًا جديدًا. يأخذ المسار والوضع (اختياري) ووظيفة رد الاتصال كمعلمات. يمكنك استخدامه على النحو التالي:
مقدار ثابت dirPath = path.join (__dirname، 'newDirectory') ؛
fs.mkdir (dirPath، (خطأ) => {
// معالجة الأخطاء
وحدة التحكم.log ("دليل جديد تم إنشاؤه بنجاح") ؛
}); -
fs.unlink: تقوم هذه الوظيفة بإزالة الملف أو حذفه من المسار الذي تم تمريره كوسيطة. ضع في اعتبارك مثال الكود أدناه:
مقدار ثابت filePath = path.join (_dirname، 'oldFile.js') ؛
fs.unlink (مسار الملف ، (خطأ) => {
// معالجة الأخطاء
وحدة التحكم.log ("تم حذف الملف بنجاح") ؛
}); -
fs.rmdir: هذه الطريقة تحذف الدليل في مسار معين. إنه مشابه جدًا في الاستخدام لطريقة إلغاء الارتباط:
مقدار ثابت dirPath = path.resolve ('home'، 'projects'، 'web')؛
fs.rmdir (dirPath، (خطأ) => {
// معالجة الأخطاء
وحدة التحكم.log ("تم حذف الدليل بنجاح") ؛
})
-
موجود: ال موجود يتحقق الأسلوب مما إذا كان الملف في مسار معين موجودًا. التنفيذ على النحو التالي:
يترك filePath = path.join (__dirname، 'index.html') ؛
fs.exists (مسار الملف ، (موجود) => {
وحدة التحكم.log (موجود) // صحيحة أو خاطئة
}) -
fs.stat: هذه وظيفة متزامنة ترجع خصائص الملف. تقوم بإرجاع ملف خ. احصائيات الذي يعرض بعض الطرق للوصول إلى خصائص الملف. هذا مثال:
fs.stat ('index.js'، (error، stats) => {
وحدة التحكم.log (احصائيات) ؛ // يطبع خصائص منخفضة المستوى للملف
stats.isFile () ، // يعود صحيحًا
stats.isDirectory () ، // يعود خطأ
})
يجب عليك استخدام ملف طريق أساليب عند العمل مع مسارات الملفات لأنها تحميك من السلوك غير المتوقع عبر الأنظمة الأساسية. ال Node.js fs و مسار Node.js الوثائق تصف قائمة شاملة من الأساليب.
معالجة نظام الملفات في Node.js
اتساع نطاق خ الوحدة النمطية تجعل من السهل جدًا الوصول إلى الملفات والتفاعل معها على أي نظام تشغيل. عند استخدامه مع ملف طريق الوحدة النمطية ، فأنت منفتح على المزيد من الوظائف ويمكنك التعامل مع نظام الملفات كما تريد.
الميزة الرئيسية لـ Node.js هي قابليتها للنقل. يمكنك تطوير تطبيقاتك على أي نظام أساسي ونشرها في أي مكان دون القلق بشأن مشكلات التوافق الأساسية.