English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

NodeJS دروس الأساس

NodeJS Express.js

NodeJS 缓冲&URL;

NodeJS MySql

NodeJS MongoDB

NodeJS ملف (FS)

NodeJS أخرى

إعادة كتابة وظائف وحدة التدريب لـ Node.js

إعادة كتابة وظائف مodule Node.js

وظائف بدلاً من مodule Node.js–في بعض الحالاتفي الحالة، تريد تحسين الوظائف الحالية من خلال إعادة كتابة المodule. في هذا الدليل لـ Node.js، سنتعلم كيفية إعادة كتابة وظائف مodule Node.js.

لإعادة كتابة الوظائف الموجودة في مodule Node.js، اتبع التعليمات التالية خطوة بخطوة:

استيراد الجهاز

خطوة أولى لتغطية الوظيفة في الجهاز هي استخدام دالة require لتشمل الجهاز نفسه.

var newMod = require('<module_name>');

لقد قمنا بجلب الجهاز إلى المتغير.

إزالة الدالة من متغيرات الجهاز

استخدام المتغيرات في module newMod، استخدم الجملة التالية لإزالة الدالة.

  delete newMod['<function_name>'];

تذكر أن التغييرات التي تم إجراؤها هي فقط لتغيير متغيرات الجهاز الجديد، وليس لتغيير الجهاز الأصلي نفسه.

أضف وظيفة بنفس الاسم إلى متغير وحدة

استخدم المتغير في وحدة newMod، أضف وظيفة بنفس الاسم باستخدام النحو التالي في الخطوة السابقة.

newMod.<function_name> = function(function_parameters) {
 // جسم الوظيفة
};

إعادة تصدير الوحدة

يجب عليك إعادة تصدير الوحدة لتطبيق الوظيفة المعدلة.

module.exports = newMod;

الآن، يمكنك استخدام المتغير newMod للوحدة لاستدعاء الوظيفة، ثم تنفيذ الوظيفة المعدلة.

مثال: إعادة كتابة وظائف وحدة Node.js

في هذا المثال، سنقوم بإعادة كتابة وظيفة readFile() في وحدة Node fs.

الخطوة الأولى لإعادة كتابة وظيفة الوحدة هي استخدام وظيفة require لتشمل الوحدة نفسها.

// شمل الوحدة التي تريد تغطية وظيفتها
var fs = require('fs'); 
 
// قم بإزالة الوظيفة التي تريد تغطيتها
delete fs['readFile']; 
 
// أضف وظيفة جديدة بنفس الاسم
fs.readFile = function(str){ 
    console.log("تم تعديل الوظيفة."); 
    console.log(str); 
 } 
 
// قم بتعديل إعادة التصدير لتطبيق التغييرات
module.exports = fs
 
// يمكنك استخدام الوظيفة الجديدة التي تم تغطيتها
fs.readFile("sample.txt");

نتائج الإخراج

~/workspace/nodejs$ node node-js-overriding-function-in-module.js 
رسالة من وظيفة جديدة مضافة إلى الوحدة
sample.txt

قد لا يكون تعديل وظيفة readFile() فكرة جيدة، ولكنها كافية للتحديد.

الخاتمة:

في هذا الدرس -إعادة كتابة وظائف وحدة Node.js، لقد تعلمنا كيفية استخدام برنامج Node.js كمثال لتغطية وظائف وحدة Node.js.