دليل سريع لـ Node.js في 2019

المقدمة

ما هو Node.js؟

Node.js مفتوح المصدر ومجاني على حد سواء ، ويستخدم لمجموعة متنوعة من الأغراض. على سبيل المثال لا الحصر ، يعتبر Node.js فعالاً للغاية في عرض المحتوى الديناميكي. إذا كنت تريد طريقة سريعة وفعالة لإنشاء مدونة وتشغيلها ، فيمكن لـ Node.js تبسيط العملية. استنادًا إلى JavaScript ، يمكن استخدام Node.js من قبل معظم مطوري الويب الذين يرغبون في إجراء عمليات من جانب الخادم دون الحاجة إلى تعلم لغة جديدة تمامًا. Node.js أيضًا موفرًا للذاكرة للغاية ، ويعالج جميع الطلبات بشكل غير متزامن ، ومدير الحزم المتضمن لديه حق الوصول إلى أكبر مستودع في العالم.

مزايا

يحتوي Node.js على العديد من المزايا ، مثل ما يلي:

  • يدعم أصلاً المهام غير المتزامنة. على سبيل المثال ، عندما يقوم مستخدم بتقديم طلب إلى نص برمجي مكتوب على Node.js ، يستمر Node.js في إتاحة الطلبات الجديدة أثناء معالجة الطلب الحالي.
  • يدعم معظم توزيعات لينكس ولديه عدد كبير من الحزم المكتوبة مسبقًا المتاحة للاستخدام.
  • يحتوي على معظم الوظائف الأساسية التي ستحتاج إليها مدمجة. وهذا يشمل القدرة على تحرير الملفات أو نقلها أو حذفها ؛ بالإضافة إلى التفاعل مع MySQL و MongoDB وعدد كبير من الأشياء الأخرى دون الحاجة إلى استخدام مدير الحزم المتضمن.
  • يستخدم أكبر مستودع للحزم في العالم: npm.
  • صيغة شفرة مماثلة لجافا سكريبت. Node.js هو في الأساس JS من جانب الخادم.

سلبيات

لسوء الحظ ، على الرغم من ذلك ، فإن Node.js لديها نصيبها من العيوب:

  • نظرًا لأنها لغة جديدة نسبيًا ، مقارنة بشيء مثل PHP ، يتم تحديثها في كثير من الأحيان. هذا يعني أن المكالمات أو الطرق التي تستخدمها قد لا تعمل في إصدار سابق أو مستقبلي من Node.js.
  • قد يستغرق Node.js أحيانًا وقتًا أطول في كتابة التعليمات البرمجية ، حيث لا يمكن بسهولة استخدام مكتبات أخرى. ImageMagick ، ​​على سبيل المثال ، مكتبة شائعة تستخدم في PHP غير مدعومة مع Node.js.
  • على عكس جافا ، يصعب تنفيذ الاستثناءات. هذا يعني أنه من المستحيل تقريبًا العثور على أخطاء في التعليمات البرمجية الخاصة بك إذا كان لديك ملف JS طوله آلاف الأسطر.

باستخدام Node.js

المتطلبات الأساسية

  • أي إصدار حديث من Ubuntu أو CentOS أو Debian مثبت. ستغطي هذه المقالة فقط عملية تثبيت CentOS.
  • 256 ميجابايت على الأقل من ذاكرة الوصول العشوائي. لاحظ أن هذا الرقم يعتمد على التطبيق الذي ستقوم بتشغيله.
  • في هذا البرنامج التعليمي ، ستحتاج أيضًا إلى محرر نص ، مثل Vim أو Nano.

تثبيت العقدة

قم بتحديث مدير الحزم الخاص بك:

yum update -y

تثبيت Node.js:

yum install nodejs -y

إذا طُلب منك استيراد مفتاح ، فأدخل Yللمتابعة.

تأكد من نجاح التثبيت:

node -v
npm -v

اصطلاحات نوع الملف الأساسي

يجب أن تنتهي جميع ملفات Node.js بـ .js. على سبيل المثال ، يمكن استدعاء محلول تربيعي بسيط Quadratic.js. بعد قولي هذا ، يمكنك تسميته ما تشاء طالما تم استيفاء الشرط الأول.

واجهة برمجة التطبيقات

عادة ما تكون لغات البرمجة APIمتاحة ، و Node.js ليست استثناء. إذا كنت فقدت أو الحاجة إلى إيجاد بناء الجملة من أجل وظيفة (أو طريقة)، وتحقق من مستندات نود.جي إس .

ملاحظة: كما ذكرنا سابقًا ، يحتوي Node.js على قاعدة تعليمات برمجية يتم تحديثها باستمرار وعلى هذا النحو ، فقد لا تعمل الوظائف هنا في الإصدارات الأحدث.

إنشاء برامجك الأولى

مرحبا بالعالم!

في هذا القسم ، سنتعرف على أبسط برنامج يمكنك إنشاؤه. للبدء ، توجه إلى /~أو /root. إنشاء مشروعك الأول بسيط مثل إنشاء ملف JS:

nano HelloWorld.js

بمجرد أن تكون داخل محرر النصوص المفضل لديك ، أدخل ما يلي:

// For reference, comments are made using '//' added before or after a line. Comments are ignored by the Node.js interpreter.
console.log("Hello, world!"); // console.log() simply outputs text to the terminal.

اخرج واحفظ.

الآن ، قم بتشغيل برنامجك:

node HelloWorld.js

سترى الناتج التالي:

[root@test-server ~]# node HelloWorld.js
Hello, world!

الرياضيات والمتغيرات البسيطة

في هذا القسم ، سنتعلم كيفية إجراء العمليات الرياضية الأساسية. للبدء ، توجه إلى /rootالدليل الخاص بك مرة أخرى وقم بإنشاء ملف يسمى MathTest.js:

nano MathTest.js 

قم بلصق التعليمة البرمجية التالية في الملف:

var a = 5; // Variables are declared using 'var variableName = value'. The value can be a string, integer, boolean value (ie. true/false) or an object. 
var b = 10;
var c = "Hello, world!";

console.log(c); // This line will output the contents of variable c.
console.log("a = " + a + ", b = " + b); // This line prints out the respective values for a & b.
console.log("a + b = " + (a + b)); // This line prints out the result of (a + b) or (5 + 10). The result should be 15.

حفظ وخروج.

عند تنفيذ برنامجك MathTest.js، سترى ما يلي:

[root@test-server ~]# node MathTest.js
Hello, world!
a = 5, b = 10
a + b = 15

بدء أول خادم ويب لدينا

في هذا القسم ، سنتعلم كيفية بدء تشغيل خادم الويب Node.js. للبدء ، قم بإنشاء ملف يسمى WebTest.js:

nano WebTest.js

قم بلصق الكود التالي:

 // This line includes the HTTP module. Having it included allows us to use it's methods and functions to start a working webserver.
var http = require("http");
var a = 5, b = 10; 

http.createServer(function (request, response) {
    // This will simply output "Request received!" to your terminal when you visit your page.
    console.log("Request received!");

    // This line tells your browser that it should be expecting HTML content to be returned.
    response.writeHead(200, {'Content-Type': 'text/html'}); 

    // The following line adds "Hello, world! a + b = 15" to the body. The <i></i> tags will italicize the text. 
    response.write("<i>Hello, world! a + b = " + (a + b) + "</i>"); 

    // Finally, we'll tell the browser that we're done sending data with 'response.end()' below.
    response.end(); 
}).listen(8080);

بمجرد حفظ الملف ، قم بتشغيل البرنامج الجديد:

[root@test-server ~]# node WebTest.js

الآن ، قم بزيارة http://(YOUR_SERVER_IP):8080. تأكد من تكوين جدار الحماية بشكل صحيح للسماح بالطلب.

سترى Request received!على جهازك الطرفي وما يلي في متصفحك:

Hello, world! a + b = 15

ملاحظة: من أجل الإغلاق (الإغلاق) WebTest.js، استخدم تركيبة المفاتيح التالية: CTRL+ C.

الآن بعد أن فهمت بعض الأساسيات ، سيعرض لك القسم التالي استخدام وحدات الجهات الخارجية ، المثبتة عبر npm.

تثبيت وحدة طرف ثالث واستخدامها في برنامج

في هذا القسم ، سنقوم بتوسيع أول "Hello، world!" برنامج. للبدء ، سنقوم بتثبيت حزمة تسمى colo . تتيح لنا هذه الحزمة استخدام الألوان على الجهاز.

للبدء ، سنستخدم npmلتثبيت الحزمة:

npm i colo  

كمرجع ، يمكنك إزالة الحزمة مع npm remove colo

بمجرد اكتمال العملية ، ستتمكن من الوصول إلى coloالحزمة. الآن ، بمجرد أن تفتح HelloWorld.js، أضف السطر التالي في الأعلى:

var colour = require("colo");

حيث ترى console.log(...)، قم بتغليف "مرحبًا أيها العالم!" مع الأقواس. في بداية الأقواس ، أضف colour.red.bold:

console.log(colour.red.bold("Hello, world!"));

سيبدو رمزك النهائي كما يلي:

var colour = require("colo");
console.log(colour.red.bold("Hello, world!"));

حفظ والخروج وتشغيل البرنامج الخاص بك. سيكون الناتج هو نفسه تمامًا كما كان من قبل ، باستثناء "Hello، world!" الآن باللون الأحمر (الغامق) في جهازك.

الملاحظات الختامية

مبروك على إكمال جميع البرامج الأساسية. يجب أن يزودك هذا بالمعرفة لتفسير (على الأقل) الرمز المستخدم في البرامج التعليمية الأخرى. نأمل ألا تتوقف هنا - فهناك العديد من الأشياء الأخرى التي يمكنك القيام بها باستخدام Node.js!

إذا وجدت أن Node.js ليست اللغة المناسبة لك ، فستكون إزالتها بهذه البساطة كما يلي:

yum remove nodejs -y

اترك تعليقاً

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

وظائف طبقات معمارية مرجعية للبيانات الضخمة

وظائف طبقات معمارية مرجعية للبيانات الضخمة

اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.

6 أشياء شديدة الجنون حول نينتندو سويتش

6 أشياء شديدة الجنون حول نينتندو سويتش

يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد