دليل سريع لـ 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


Leave a Comment

قم بإعداد Sails.js للتطوير على CentOS 7

قم بإعداد Sails.js للتطوير على CentOS 7

استخدام نظام مختلف؟ مقدمة Sails.js هو إطار عمل MVC لـ Node.js ، مشابه لـ Ruby on Rails. يجعل لتطوير التطبيقات الحديثة ver

إعداد Adonis.js على أوبونتو 14

إعداد Adonis.js على أوبونتو 14

مقدمة Adonis.js هو إطار عمل MVC لـ NodeJs يمكنك من كتابة تطبيقات الويب باستخدام رمز أقل. إنه يستعير مفاهيم من أطر عمل صلبة أخرى مثل

كيفية إعداد تطبيق عقدة Koa.js على Ubuntu 16.04 LTS

كيفية إعداد تطبيق عقدة Koa.js على Ubuntu 16.04 LTS

في هذا البرنامج التعليمي ، سنتعلم كيفية إعداد تطبيق ويب Koa.js للإنتاج ، باستخدام Node.js. سنقوم أيضًا بربط عينة نطاق مع

إعداد خادم الويب Express.js على Ubuntu 16.04 LTS

إعداد خادم الويب Express.js على Ubuntu 16.04 LTS

في هذا البرنامج التعليمي ، سنقوم بتثبيت خادم ويب Express.js أساسي ، باستخدام Node.js ، وهو وقت تشغيل جافا سكريبت يعتمد على محرك Chromes V8 ، على Vultr VP

نشر تطبيق Node.js باستخدام Docker

نشر تطبيق Node.js باستخدام Docker

ستوضح لك هذه المقالة كيفية نشر تطبيق Node داخل حاوية Docker. ملاحظة: يفترض هذا البرنامج التعليمي أنك قمت بتثبيت Docker وقراءته

كيفية تثبيت شريط على أوبونتو 16.04

كيفية تثبيت شريط على أوبونتو 16.04

مقدمة شريط هو إطار إدارة محتوى NodeJS مفتوح المصدر مخصص لبناء تطبيقات API جاهزة وقابلة للتطوير للإنتاج

تثبيت Node.js و Express على Ubuntu

تثبيت Node.js و Express على Ubuntu

بدعم من محرك Chrome V8 ، تعد Node.js لغة شائعة تستخدم لإنشاء تطبيقات سريعة قابلة للتطوير. وقد قامت بالفعل بتشغيل العديد من المشاريع بما في ذلك

تثبيت روبي على القضبان على أوبونتو 14.04

تثبيت روبي على القضبان على أوبونتو 14.04

Ruby on Rails (RoR) هو إطار عمل مكتوب بلغة برمجة Ruby يسمح لك باستخدام Ruby بالاشتراك مع HTML و CSS والبرامج المشابهة

إنشاء تطبيق ويب Hapi.js باستخدام Node.js على أوبونتو 16.04

إنشاء تطبيق ويب Hapi.js باستخدام Node.js على أوبونتو 16.04

يعد Hapi.js إطار عمل Node.js ثريًا وقويًا وقويًا مصممًا لبناء تطبيقات الويب في النظام البيئي Node.js. تصميمها المباشر يجعل أنا

كيفية إنشاء واجهة برمجة تطبيقات Node.js RESTful باستخدام Express.js على Ubuntu 16.04 LTS

كيفية إنشاء واجهة برمجة تطبيقات Node.js RESTful باستخدام Express.js على Ubuntu 16.04 LTS

في هذا البرنامج التعليمي ، ستتعلم كيفية إعداد واجهة برمجة تطبيقات RESTful كاملة ، والتي ستخدم طلبات HTTP باستخدام Node.js و Express أثناء عكس وكيلها مع

قم بإعداد تطبيق ويب Nuxt.js على Ubuntu 18.04 LTS

قم بإعداد تطبيق ويب Nuxt.js على Ubuntu 18.04 LTS

Nuxt.js: الإطار العام Nuxt.js هو إطار JavaScript مصمم لإنشاء تطبيقات Vue.js العالمية بسرعة. هو الأكثر شهرة ملحوظة

تثبيت Node.js من المصدر على Ubuntu 14.04

تثبيت Node.js من المصدر على Ubuntu 14.04

تثبيت أدوات البناء ستكون هناك حاجة إلى العديد من الأدوات. قم بتشغيل الأمر التالي: apt-get install make g ++ libssl-dev git Download Node.js source It i

وكيل Nginx Reverse مع Ghost على Ubuntu 14.04

وكيل Nginx Reverse مع Ghost على Ubuntu 14.04

Ghost هي منصة تدوين مجانية ومفتوحة المصدر مكتوبة في node.js ، قابلة للتخصيص بالكامل ومخصصة للنشر. تحضير الخادم: Updat

كيفية نشر Ghost على Fedora 25

كيفية نشر Ghost على Fedora 25

استخدام نظام مختلف؟ Ghost هي منصة تدوين مفتوحة المصدر تكتسب شعبية بين المطورين والمستخدمين العاديين منذ إصدارها عام 2013. أنا

كيفية إعداد تطبيقات Node.js المستمرة على Ubuntu 16.04

كيفية إعداد تطبيقات Node.js المستمرة على Ubuntu 16.04

تطبيقات Node.js شائعة لقدرتها على التوسع. يؤدي تشغيل عدة عمليات متزامنة على خوادم متعددة إلى وقت استجابة أقل ووقت تشغيل أكبر

نشر تطبيق نيزك على أوبونتو

نشر تطبيق نيزك على أوبونتو

ستوجهك هذه المقالة خلال نشر تطبيق Meteor الخاص بك إلى Vultr VPS يعمل بنظام Ubuntu 14.04. قد يعمل أيضًا على توزيعات Linux أخرى (حاول

كيفية تثبيت NodeBB على CentOS 7

كيفية تثبيت NodeBB على CentOS 7

NodeBB هو برنامج منتدى حديث ومفتوح المصدر و NodeJS. مع وضع العملاء في الاعتبار ، يوفر NodeBB لأصحاب المجتمع ميزات قوية وسهولة الاستخدام

كيفية إعداد PM2 على أوبونتو 16.04

كيفية إعداد PM2 على أوبونتو 16.04

PM2 هو مدير عمليات عقدة شائع جدًا يجعل تشغيل تطبيقات NodeJS أمرًا سهلاً. يجعل PM2 من السهل إعادة تشغيل التطبيقات ، وإعادة تشغيل الأعطال تلقائيًا

كيفية تثبيت GruntJS على دبيان 9

كيفية تثبيت GruntJS على دبيان 9

GruntJS هو عداء مهام JavaScript مكتوب على أعلى NodeJS. يمكن استخدامه لأتمتة المهام المتكررة لتطبيقك مثل التصغير والتجميع

نظرة ثاقبة على 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. قراءة هذه المادة لمعرفة المزيد