English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
أمثلة Node.jsنحن سنستخدمNode.jsلشرح الأساسيات، أمثلة على module fs، module mysql، module http، module url، تحليل json، إلخ.
إليكم قائمة الأمثلة التي سنقوم بشرحها في هذا الدليل الخاص بـ Node.js:
وحدة/موضوع | أمثلة |
أساسيات |
|
نظام الملفات |
|
MySQL |
|
URL |
|
JSON |
|
HTTP |
|
إليك مثال بسيطمثال Node.js،للطباعة الرسائل على الشاشة.
console.log("مرحبًا هناك! هذا هو Node.js!")
Calculator.js
// العودة للجمع بين الأرقام exports.add = function(a, b) { return a + b; }); // العودة للفرق بين الأرقام exports.subtract = function(a, b) { return a - b; }); // العودة لضرب الأرقام exports.multiply = function(a, b) { return a * b; });
var calculator = require('./calculator'); var a = 10, b = 5; console.log("جمع : " + calculator.add(a, b)); console.log("طرح : " + calculator.subtract(a, b)); console.log("ضرب : " + calculator.multiply(a, b));
readFileExample.js
// دالة دمج ملف fs var fs = require('fs'); var data = 'تعلم وحدة Node FS'; // دالة writeFile تحتوي على اسم الملف والمحتوى والوظيفة التدعيمية fs.writeFile('newfile.txt', data, function(err) { if (err) throw err; console.log('تم إنشاء الملف بنجاح.'); });
استخدم الأمر node لتشغيل البرنامج في Terminal أو سطر الأوامر:
الإخراج في النهاية
$ node createFileExample.js تم إنشاء الملف بنجاح.
الملف يجب أن يتم إنشاؤه بجانب برنامج مثال node.js يحتوي على محتوى "نقطة تعلم FS module".
// دمج مكتبة نظام الملف var fs = require('fs'); // قراءة ملف sample.html fs.readFile('sample.html', // الدالة المعروفة عند اكتمال قراءة الملف function(err, data) { if (err) throw err; // البيانات هي منطق التخزين الذي يحتوي على محتوى الملف console.log(data.toString('utf8')) });
استخدم الأمر node لتشغيل البرنامج في Terminal أو سطر الأوامر:
الإخراج في النهاية
$ node readFileExample.js <html> <body> <h1>العنوان</h1> <p لقد تعلمت كيفية قراءة ملف في Node.js.</p> </body> </html>
تأكد من وجود ملف يسمى "sample.txt" بجانب برنامج مثال Node.js.
// دمج مكتبة fs var fs = require('fs'); // حذف الملف المسمى "sample.txt" fs.unlink('sample.txt', function(err) { if (err) throw err; // إذا لم يكن هناك خطأ، تم حذف الملف بنجاح console.log('تم حذف الملف!'); });
استخدم الأمر node لتشغيل البرنامج في Terminal أو سطر الأوامر:
الإخراج في النهاية
$ node deleteFile.js تم حذف الملف!
تم حذف الملف بنجاح.
في هذا المثال، سنكتب محتوى "مرحبًا!" إلى ملف النص sample.txt.
// دمج مكتبة نظام الملف var fs = require('fs'); var data = "مرحبًا!" fs.writeFile('sample.txt',data, // الدالة المعروفة بعد كتابة الملف function(err) { if (err) throw err; // إذا لم يكن هناك خطأ console.log("تم كتابة البيانات إلى الملف بنجاح.") });
عندما يتم تشغيل هذا البرنامج في Terminal،
برنامج الإخراج
arjun@arjun-VPCEH26EN:~/workspace/nodejs$ node nodejs-write-to-file-example.js تم كتابة البيانات إلى الملف بنجاح.
// استيراد مكتبة mysql var mysql = require('mysql'); // إنشاء متغير الاتصال بتفاصيل المطلوبة var con = mysql.createConnection({ host: "localhost" // عنوان IP للخادم الذي يعمل عليه MySQL user: "arjun" // اسم المستخدم في قاعدة بيانات MySQL password: "password" //الرقم السري المُرتبط }); // الاتصال بالقاعدة البيانات. con.connect(function(err) { if (err) throw err; console.log("مُرتبط!"); });
selectFromTable.js مثال بسيط لاستعلام SELECT FROM لـ MySQL
//مثال استعلام SELECT FROM لـ Node.js MySQL // استيراد مكتبة mysql var mysql = require('mysql'); // إنشاء متغير الاتصال بتفاصيل المطلوبة var con = mysql.createConnection({ host: "localhost" // عنوان IP للخادم الذي يعمل عليه MySQL user: "arjun" // اسم المستخدم في قاعدة بيانات MySQL password: "password", // كلمة المرور الم对应ه database: "studentsDB" // استخدام قاعدة البيانات المحددة }); // إنشاء اتصال بالقاعدة البيانات. con.connect(function(err) { if (err) throw err; // إذا تم إنشاء الاتصال بنجاح con.query("SELECT * FROM students", function(err, result, fields) { // If any errors happen while executing the above query, throw the error if (err) throw err; // If here is o error, you will get the result console.log(result); }); });
selectFromWhere.js
// استيراد مكتبة mysql var mysql = require('mysql'); // إنشاء متغير الاتصال بتفاصيل المطلوبة var con = mysql.createConnection({ host: "localhost" // عنوان IP للخادم الذي يعمل عليه MySQL user: "arjun" // اسم المستخدم في قاعدة بيانات MySQL password: "password", // كلمة المرور الم对应ه database: "studentsDB" // استخدام قاعدة البيانات المحددة }); // إنشاء اتصال بالقاعدة البيانات. con.connect(function(err) { if (err) throw err; // إذا تم إنشاء الاتصال بنجاح con.query("SELECT * FROM students where marks>90", function (err, result, fields) { // If any errors happen while executing the above query, throw the error if (err) throw err; // If here is o error, you will get the result console.log(result); }); });
فتح终端 من موقع ملف .js المذكور أعلاه، ثم تشغيل برنامج مثال Node.js MySQL selectFromWhere.js.
AscOrderExample.js
//إدخال ملف mysql var mysql = require('mysql'); // إنشاء متغير الاتصال بتفاصيل المطلوبة var con = mysql.createConnection({ host: "localhost" // عنوان IP للخادم الذي يعمل عليه MySQL user: "arjun" // اسم المستخدم في قاعدة بيانات MySQL password: "password", // كلمة المرور الم对应ه database: "studentsDB" // استخدام قاعدة البيانات المحددة }); // إنشاء اتصال بالقاعدة البيانات. con.connect(function(err) { if (err) throw err; // إذا تم إنشاء الاتصال بنجاح con.query("SELECT * FROM students ORDER BY marks", function (err, result, fields) { // If any errors happen while executing the above query, throw the error if (err) throw err; // If here is o error, you will get the result console.log(result); }); });
تشغيل برنامج Node.js MySQL ORDER BY المثال أعلاه.
// استيراد مكتبة mysql var mysql = require('mysql'); // إنشاء متغير الاتصال بتفاصيل المطلوبة var con = mysql.createConnection({ host: "localhost" // عنوان IP للخادم الذي يعمل عليه MySQL user: "arjun" // اسم المستخدم في قاعدة بيانات MySQL password: "password", // كلمة المرور الم对应ه database: "studentsDB" // استخدام قاعدة البيانات المحددة }); // إنشاء اتصال بالقاعدة البيانات. con.connect(function(err) { if (err) throw err; // إذا تم إنشاء الاتصال بنجاح con.query("INSERT INTO students (name,rollno,marks) values ('Anisha',12,95)", function (err, result, fields) { // If any errors happen while executing the above query, throw the error if (err) throw err; // If here is o error, you will get the result console.log(result); }); });
تشغيل برنامج Node.js MySQL في الطرفية.
UpdateRecordsFiltered.js-تحديث سجلات جدول MySQL
// استيراد مكتبة mysql var mysql = require('mysql'); // إنشاء متغير الاتصال بتفاصيل المطلوبة var con = mysql.createConnection({ host: "localhost" // عنوان IP للخادم الذي يعمل عليه MySQL user: "arjun" // اسم المستخدم في قاعدة بيانات MySQL password: "password", // كلمة المرور الم对应ه database: "studentsDB" // استخدام قاعدة البيانات المحددة }); // إنشاء اتصال بالقاعدة البيانات. con.connect(function(err) { if (err) throw err; // إذا تم إنشاء الاتصال بنجاح con.query("UPDATE students SET marks=84 WHERE marks=74", function (err, result, fields) { // If any errors happen while executing the above query, throw the error if (err) throw err; // If here is o error, you will get the result console.log(result); }); });
تشغيل البرنامج أعلاه في الطرفية
الإخراج في النهاية
arjun@arjun-VPCEH26EN:~/workspace/nodejs$ node UpdateRecordsFiltered.js OkPacket { fieldCount: 0, affectedRows: 3, insertId: 0, serverStatus: 34, message: '(السطور المُطابقة: 3 تغييرات: 3 تحذيرات: 0', protocol41: true, changedRows: 3 }
في حالة تطبيق مرشح على واحدة أو أكثر من خصائص السجلات في الجدول، يتم تنفيذ استعلام DELETE FROM المحدد.
// استيراد مكتبة mysql var mysql = require('mysql'); // إنشاء متغير الاتصال بتفاصيل المطلوبة var con = mysql.createConnection({ host: "localhost" // عنوان IP للخادم الذي يعمل عليه MySQL user: "arjun" // اسم المستخدم في قاعدة بيانات MySQL password: "password", // كلمة المرور الم对应ه database: "studentsDB" // استخدام قاعدة البيانات المحددة }); // الاتصال بالقاعدة البيانات. con.connect(function(err) { if (err) throw err; // إذا تم إنشاء الاتصال بنجاح con.query("DELETE FROM students WHERE rollno>10", function(err, result, fields) { // If any errors happen while executing the above query, throw the error if (err) throw err; // If here is o error, you will get the result console.log(result); }); });
تشغيل deleteRecordsFiltered.js-مخرجات الت终端
arjun@arjun-VPCEH26EN:~/workspace/nodejs$ node deleteRecordsFiltered.js OkPacket { fieldCount: 0, affectedRows: 6, insertId: 0, serverStatus: 34, message: ' protocol41: true, changedRows: 0 }
يمكننا استخدام عمود DOT (.) لاستخدام السجلات في مجموعة النتائج كخصائص وعدد
// مثال على نتائج MySQL في Node.js // استيراد مكتبة mysql var mysql = require('mysql'); // إنشاء متغير الاتصال بتفاصيل المطلوبة var con = mysql.createConnection({ host: "localhost" // عنوان IP للخادم الذي يعمل عليه MySQL user: "arjun" // اسم المستخدم في قاعدة بيانات MySQL password: "password", // كلمة المرور الم对应ه database: "studentsDB" // استخدام قاعدة البيانات المحددة }); // إنشاء اتصال بالقاعدة البيانات. con.connect(function(err) { if (err) throw err; // إذا تم إنشاء الاتصال بنجاح con.query("SELECT * FROM students", function(err, result, fields) { // If any errors happen while executing the above query, throw the error if (err) throw err; // If here is o error, you will get the result // iterate through all rows in the result Object.keys(result).forEach(function(key) { var row = result[key]; console.log(row.name) }); }); });
Run the above program using the node in the terminal
الإخراج في النهاية
arjun@arjun-VPCEH26EN:~/workspace/nodejs$ node selectUseResultObject.js John Arjun Prasanth Adarsh Raja Sai Ross Monica Lee Bruce Sukumar
// enable url module var url = require('url'); var address = 'http://localhost:8080/index.php?type=page&action=update&id=5221'; var q = url.parse(address, true); console.log(q.host); // returns 'localhost:8080' console.log(q.pathname); // returns '/index.php' console.log(q.search); // returns '?type=page&action=update&id=5221' var qdata = q.query; // returns an object: {Type: 页面, Operation: 'update', id = '5221'} console.log(qdata.type); // returns “页面” console.log(qdata.action); // returns “update” console.log(qdata.id); // returns “5221”
الإخراج في النهاية
$ node urlParsingExample.js localhost:8080 /index.php ?type=page&action=update&id=5221 الصفحة تحديث 5221
هذه الأمثلة يمكن أن تساعدك في استخدام وظيفة JSON.parse() وتحديد العناصر من objekt JSON.
// بيانات JSON var jsonData = '{"persons":[{"name":"John","city":"New York"},{"name":"Phil","city":"Ohio"}]}'; // تحليل JSON var jsonParsed = JSON.parse(jsonData); // زيارة العنصر console.log(jsonParsed.persons[0].name);
أوخر مخرجات التشغيل في الطرفية لتشغيل nodejs-parse-json.js
arjun@arjun-VPCEH26EN:~/workspace/nodejs$ node nodejs-parse-json.js John
مثال Node.js – خادم HTTP، يعد ردًا يحتوي على عناوين HTTP ورسائل.
// استيراد مكتبة http في الملف var http = require('http'); // إنشاء خادم http.createServer(function (req, res) { // عناوين HTTP // 200 - رسالة تأكيد // لاستخدام محتوى HTML في الرد، يجب أن يكون "Content-Type" "text/html" res.writeHead(200, {'Content-Type': 'text/html'}); res.write('Node.js says hello!'); // تكتب رد للعميل res.end(); // تنتهي الرد }).listen(9000); // ي侦طن عنصر الخادم على порт 9000
تشغيل الخادم
$ node httpWebServer.js
افتح المتصفح وأضغط على URL "http://127.0.0.1:9000/"، لتفعيل طلبنا على خادم الويب الخاص بنا.