Node.js ایکسپریس فریم ورک ٹیوٹوریل - 10 منٹ میں سیکھیں۔

اس ٹیوٹوریل میں ، ہم ایکسپریس فریم ورک کا مطالعہ کریں گے۔ یہ فریم ورک اس طرح بنایا گیا ہے کہ یہ کم سے کم اور لچکدار Node.js ویب ایپلیکیشن فریم ورک کے طور پر کام کرتا ہے ، جو سنگل اور ملٹی پیج اور ہائبرڈ ویب ایپلی کیشن کے لیے خصوصیات کا ایک مضبوط سیٹ مہیا کرتا ہے۔

اس سبق میں ، آپ سیکھیں گے-

Express.js کیا ہے؟

ایکسپریس ڈاٹ جے ایس ایک نوڈ جے ایس ویب ایپلیکیشن سرور فریم ورک ہے ، جو خاص طور پر سنگل پیج ، ملٹی پیج اور ہائبرڈ ویب ایپلی کیشنز بنانے کے لیے ڈیزائن کیا گیا ہے۔

یہ node.js کے لیے معیاری سرور فریم ورک بن گیا ہے۔ ایکسپریس کسی چیز کا پسدید حصہ ہے جسے MEAN اسٹیک کہا جاتا ہے۔

MEAN ایک مفت اور اوپن سورس جاوا اسکرپٹ سافٹ وئیر اسٹیک ہے جو متحرک ویب سائٹس اور ویب ایپلی کیشنز کی تعمیر کے لیے ہے جس میں مندرجہ ذیل اجزاء ہیں۔

1) مونگو ڈی بی - معیاری NoSQL ڈیٹا بیس۔

2) Express.js - ڈیفالٹ ویب ایپلی کیشنز فریم ورک۔

3) Angular.js - جاوا اسکرپٹ MVC فریم ورک جو ویب ایپلی کیشنز کے لیے استعمال ہوتا ہے۔

4) Node.js - اسکیل ایبل سرور سائیڈ اور نیٹ ورکنگ ایپلی کیشنز کے لیے استعمال ہونے والا فریم ورک۔

ایکسپریس ڈاٹ جے ایس فریم ورک ایپلی کیشن تیار کرنا بہت آسان بنا دیتا ہے جس کا استعمال کئی قسم کی درخواستوں کو سنبھالنے کے لیے کیا جا سکتا ہے جیسے GET ، PUT ، اور POST اور DELETE درخواستیں۔

ایکسپریس انسٹال اور استعمال کرنا۔

ایکسپریس نوڈ پیکیج مینیجر کے ذریعے انسٹال ہو جاتا ہے۔ یہ کمانڈ لائن میں درج ذیل لائن پر عمل کرکے کیا جاسکتا ہے۔

npm انسٹال ایکسپریس۔

مذکورہ کمانڈ نوڈ پیکج مینیجر سے درخواست کرتی ہے کہ وہ مطلوبہ ایکسپریس ماڈیول ڈاؤن لوڈ کریں اور اسی کے مطابق انسٹال کریں۔

آئیے اپنے نئے نصب کردہ ایکسپریس فریم ورک کا استعمال کریں اور ایک سادہ 'ہیلو ورلڈ' ایپلی کیشن بنائیں۔

ہماری ایپلی کیشن ایک سادہ سرور ماڈیول بنانے جا رہی ہے جو پورٹ نمبر 3000 پر سنے گی۔ .

var express=require('express'); var app=express(); app.get('/',function(req,res) { res.send('Hello World!'); }); var server=app.listen(3000,function() {}); 

کوڈ کی وضاحت:

  1. ہمارے کوڈ کی پہلی لائن میں ، ہم 'ایکسپریس ماڈیول' کو شامل کرنے کے لیے ریویو فنکشن استعمال کر رہے ہیں۔
  2. اس سے پہلے کہ ہم ایکسپریس ماڈیول کا استعمال شروع کر سکیں ، ہمیں اس کی ایک چیز بنانے کی ضرورت ہے۔
  3. یہاں ہم کال بیک فنکشن بنا رہے ہیں۔ جب بھی کوئی ہماری ویب ایپلیکیشن کی جڑ کو براؤز کرے گا اس فنکشن کو بلایا جائے گا۔ http: // localhost: 3000۔ . کال بیک فنکشن ویب صفحہ پر سٹرنگ 'ہیلو ورلڈ' بھیجنے کے لیے استعمال کیا جائے گا۔
  4. کال بیک فنکشن میں ، ہم سٹرنگ 'ہیلو ورلڈ' کلائنٹ کو واپس بھیج رہے ہیں۔ 'res' پیرامیٹر کو ویب پیج پر مواد واپس بھیجنے کے لیے استعمال کیا جاتا ہے۔ یہ 'res' پیرامیٹر وہ چیز ہے جو 'درخواست' ماڈیول کے ذریعہ فراہم کی جاتی ہے تاکہ کسی کو ویب صفحے پر مواد واپس بھیجنے کے قابل بنایا جا سکے۔
  5. اس کے بعد ہم پورٹ نمبر 3000 پر اپنے سرور ایپلی کیشن کو کلائنٹ کی درخواستوں کو سننے کے لیے سننے کے فنکشن کا استعمال کر رہے ہیں۔ آپ یہاں کوئی بھی دستیاب بندرگاہ متعین کر سکتے ہیں۔

اگر کمانڈ کامیابی کے ساتھ چلائی گئی ہے تو ، جب آپ براؤزر میں اپنا کوڈ چلائیں گے تو مندرجہ ذیل آؤٹ پٹ دکھایا جائے گا۔

آؤٹ پٹ:

آؤٹ پٹ سے ،

  • آپ واضح طور پر دیکھ سکتے ہیں کہ اگر ہم پورٹ 3000 پر لوکل ہوسٹ کے یو آر ایل کو براؤز کرتے ہیں تو آپ کو صفحہ پر ’ہیلو ورلڈ‘ کی تار نظر آئے گی۔
  • چونکہ ہمارے کوڈ میں ہم نے خاص طور پر سرور کا پورٹ نمبر 3000 پر سننے کا ذکر کیا ہے ، ہم اس یو آر ایل پر براؤز کرتے وقت آؤٹ پٹ دیکھنے کے قابل ہیں۔

راستے کیا ہیں؟

روٹنگ اس بات کا تعین کرتی ہے کہ کس طرح ایک ایپلیکیشن کسی خاص اختتامی نقطہ پر کلائنٹ کی درخواست کا جواب دیتی ہے۔

مثال کے طور پر ، ایک کلائنٹ مختلف یو آر ایل کے لیے GET ، POST ، PUT یا ڈیلیٹ HTTP درخواست کر سکتا ہے جیسا کہ نیچے دکھایا گیا ہے۔ | _+_ |

مندرجہ بالا مثال میں ،

  • اگر پہلے یو آر ایل کے لیے جی ای ٹی کی درخواست کی جاتی ہے ، تو جواب مثالی طور پر کتابوں کی فہرست ہونا چاہیے۔
  • اگر GET کی درخواست دوسرے یو آر ایل کے لیے کی جاتی ہے ، تو جواب مثالی طور پر طلباء کی فہرست ہونا چاہیے۔
  • لہذا جس یو آر ایل تک رسائی حاصل ہے اس کی بنیاد پر ، ویب سرور پر ایک مختلف فعالیت کی درخواست کی جائے گی ، اور اسی کے مطابق ، جواب موکل کو بھیجا جائے گا۔ یہ روٹنگ کا تصور ہے۔

ہر راستے میں ایک یا ایک سے زیادہ ہینڈلر افعال ہوسکتے ہیں ، جو روٹ کے مماثل ہونے پر عمل میں لائے جاتے ہیں۔

ایک راستے کا عمومی نحو ذیل میں دکھایا گیا ہے _ _ _ _ |

جس میں ،

1) ایپ ایکسپریس ماڈیول کی ایک مثال ہے۔

2) طریقہ ایک HTTP درخواست کا طریقہ ہے (GET ، POST ، PUT یا DELETE)

3) PATH سرور پر ایک راستہ ہے۔

4) ہینڈلر وہ فنکشن ہے جس پر عمل کیا جاتا ہے جب روٹ مماثل ہو۔

آئیے ایک مثال دیکھیں کہ ہم ایکسپریس میں راستوں کو کس طرح نافذ کرسکتے ہیں۔ ہماری مثال 3 راستے بنائے گی۔

  1. A /Node راستہ جو کہ اس راستے تک رسائی حاصل ہونے پر 'ٹیوٹوریل آن نوڈ' کو ظاہر کرے گا۔
  2. ایک /کونیی راستہ جو اس راستے تک رسائی حاصل ہونے پر تار 'ٹیوٹوریل آن انگولر' دکھائے گا۔
  3. ایک ڈیفالٹ روٹ / جو اسٹرنگ کو ظاہر کرے گا 'Guru99 ٹیوٹوریلز میں خوش آمدید۔'

ہمارا بنیادی کوڈ پچھلی مثالوں جیسا ہی رہے گا۔ روٹنگ کو کس طرح نافذ کیا جاتا ہے اس کو ظاہر کرنے کے لیے نیچے کا ٹکڑا ایک اضافہ ہے۔

http://localhost:3000/Books http://localhost:3000/Students

کوڈ کی وضاحت:

  1. یہاں ہم ایک راستے کی وضاحت کر رہے ہیں اگر یو آر ایل۔ http: // localhost: 3000/Node براؤزر میں منتخب کیا گیا ہے۔ راستے پر ، ہم ایک کال بیک فنکشن منسلک کر رہے ہیں جسے نوڈ یو آر ایل پر براؤز کرنے پر بلایا جائے گا۔

    فنکشن میں 2 پیرامیٹرز ہیں۔

  • اہم پیرامیٹر جو ہم استعمال کریں گے وہ ہے 'res' پیرامیٹر ، جو کہ کلائنٹ کو معلومات واپس بھیجنے کے لیے استعمال کیا جا سکتا ہے۔
  • 'ریک' پیرامیٹر میں درخواست کے بارے میں معلومات موجود ہیں۔ بعض اوقات اضافی پیرامیٹرز کو درخواست کے حصے کے طور پر بھیجا جا سکتا ہے ، اور اسی وجہ سے 'ریک' پیرامیٹر استعمال کیا جا سکتا ہے تاکہ اضافی پیرامیٹرز بھیجے جا سکیں۔
  1. اگر نوڈ کا راستہ منتخب کیا جاتا ہے تو ہم کلائنٹ کو سٹرنگ 'ٹیوٹوریل آن نوڈ' بھیجنے کے لیے سینڈ فنکشن استعمال کر رہے ہیں۔
  2. یہاں ہم ایک راستے کی وضاحت کر رہے ہیں اگر یو آر ایل۔ http: // localhost: 3000/Angular۔ براؤزر میں منتخب کیا گیا ہے۔ راستے پر ، ہم ایک کال بیک فنکشن منسلک کر رہے ہیں جسے جب ہم اینگولر یو آر ایل پر براؤز کریں گے تو بلایا جائے گا۔
  3. اگر اینگولر روٹ کا انتخاب کیا جاتا ہے تو ہم کلائنٹ کو سٹرنگ 'ٹیوٹوریل آن اینگولر' بھیجنے کے لیے سینڈ فنکشن استعمال کر رہے ہیں۔
  4. یہ پہلے سے طے شدہ راستہ ہے جسے منتخب کیا جاتا ہے جب کوئی درخواست کے راستے پر براؤز کرتا ہے - http: // localhost: 3000۔ . جب پہلے سے طے شدہ راستہ منتخب کیا جاتا ہے تو ، پیغام 'گرو 99 ٹیوٹوریلز میں خوش آمدید' کلائنٹ کو بھیجا جائے گا۔

اگر کمانڈ کامیابی کے ساتھ چلائی گئی ہے تو ، جب آپ براؤزر میں اپنا کوڈ چلائیں گے تو مندرجہ ذیل آؤٹ پٹ دکھایا جائے گا۔

آؤٹ پٹ:

آؤٹ پٹ سے ،

  • آپ واضح طور پر دیکھ سکتے ہیں کہ اگر ہم پورٹ 3000 پر لوکل ہوسٹ کے یو آر ایل کو براؤز کرتے ہیں تو آپ کو صفحہ پر دکھائے جانے والے ’ویلکم ٹو گرو 99 ٹیوٹوریلز‘ کی تار نظر آئے گی۔
  • کیونکہ ہمارے کوڈ میں ، ہم نے ذکر کیا ہے کہ ہمارا ڈیفالٹ یو آر ایل اس پیغام کو ظاہر کرے گا۔

آؤٹ پٹ سے ،

  • آپ دیکھ سکتے ہیں کہ اگر یو آر ایل کو /نوڈ میں تبدیل کر دیا گیا ہے تو ، متعلقہ نوڈ کا راستہ منتخب کیا جائے گا اور سٹرنگ 'ٹیوٹوریل آن نوڈ' دکھایا جائے گا۔

آؤٹ پٹ سے ،

  • آپ دیکھ سکتے ہیں کہ اگر URL کو تبدیل کر دیا گیا ہے /Angular ، متعلقہ نوڈ کا راستہ منتخب کیا جائے گا اور اسٹرنگ 'ٹیوٹوریل آن اینگولر' دکھایا جائے گا۔

ایکسپریس ڈاٹ جے ایس کا استعمال کرتے ہوئے نمونہ ویب سرور۔

ہماری مندرجہ بالا مثال سے ، ہم نے دیکھا ہے کہ ہم کس طرح فیصلہ کرسکتے ہیں کہ روٹنگ کی بنیاد پر کیا آؤٹ پٹ دکھانا ہے۔ اس طرح کی روٹنگ وہی ہے جو جدید دور کی ویب ایپلی کیشنز میں استعمال ہوتی ہے۔ ویب سرور کا دوسرا حصہ نوڈ جے ایس میں ٹیمپلیٹس استعمال کرنے کے بارے میں ہے۔

جلدی آن فلائی نوڈ ایپلی کیشنز بناتے وقت ، ایپلیکیشن کے لیے ٹیمپلیٹس استعمال کرنا ایک آسان اور تیز طریقہ ہے۔ ٹیمپلیٹس بنانے کے لیے مارکیٹ میں کئی فریم ورک دستیاب ہیں۔ ہمارے معاملے میں ، ہم ٹیمپلیٹنگ کے لیے جیڈ فریم ورک کی مثال لیں گے۔

جیڈ نوڈ پیکیج مینیجر کے ذریعے انسٹال ہوتا ہے۔ یہ کمانڈ لائن میں درج ذیل لائن پر عمل کرکے کیا جاسکتا ہے۔

این پی ایم انسٹال جیڈ۔

مذکورہ کمانڈ نوڈ پیکیج مینیجر سے درخواست کرتی ہے کہ وہ مطلوبہ جیڈ ماڈیول ڈاؤن لوڈ کریں اور اسی کے مطابق انسٹال کریں۔

نوٹ: نوڈ جیڈ کے تازہ ترین ورژن میں فرسودہ کردیا گیا ہے۔ اس کے بجائے ، پگ استعمال کریں۔

آئیے اپنے نئے نصب شدہ جیڈ فریم ورک کا استعمال کریں اور کچھ بنیادی ٹیمپلیٹس بنائیں۔

مرحلہ نمبر 1) پہلا قدم جیڈ ٹیمپلیٹ بنانا ہے۔ index.jade نامی فائل بنائیں اور نیچے کوڈ داخل کریں۔ فائل کو 'ویوز' فولڈر میں بنانا یقینی بنائیں۔

  1. یہاں ہم وضاحت کر رہے ہیں کہ جب یہ سانچہ طلب کیا جائے گا تو صفحے کا عنوان تبدیل کر دیا جائے گا۔
  2. ہم یہ بھی وضاحت کر رہے ہیں کہ ہیڈر ٹیگ میں موجود متن جیڈ ٹیمپلیٹ میں جو بھی گزرے گا اس کی جگہ لے لے گا۔

app.METHOD(PATH, HANDLER)

کوڈ کی وضاحت:

  1. ایپلی کیشن میں سب سے پہلی چیز 'ویو انجن' ہے جو ٹیمپلیٹس کو پیش کرنے کے لیے استعمال کی جائے گی۔ چونکہ ہم اپنے سانچوں کو پیش کرنے کے لیے جیڈ استعمال کرنے جا رہے ہیں ، ہم اس کے مطابق اس کی وضاحت کرتے ہیں۔
  2. رینڈر فنکشن ایک ویب پیج کو رینڈر کرنے کے لیے استعمال ہوتا ہے۔ ہماری مثال میں ، ہم ٹیمپلیٹ (index.jade) پیش کر رہے ہیں جو پہلے بنایا گیا تھا۔
  3. ہم 'گرو 99' اور 'ویلکم' کی اقدار کو بالترتیب 'عنوان' اور 'پیغام' کے پیرامیٹرز میں منتقل کر رہے ہیں۔ یہ اقدار انڈیکس ڈاڈ ٹیمپلیٹ میں اعلان کردہ 'ٹائٹل' ، اور 'میسج' پیرامیٹرز سے تبدیل ہوں گی۔

اگر کمانڈ کامیابی کے ساتھ چلائی گئی ہے تو ، جب آپ براؤزر میں اپنا کوڈ چلائیں گے تو مندرجہ ذیل آؤٹ پٹ دکھایا جائے گا۔

آؤٹ پٹ:

آؤٹ پٹ سے ،

  • ہم دیکھ سکتے ہیں کہ صفحے کا عنوان 'گرو 99' اور صفحہ کا ہیڈر 'ویلکم' پر سیٹ ہو جاتا ہے۔
  • یہ جیڈ ٹیمپلیٹ کی وجہ سے ہے جو ہمارے نوڈ جے ایس ایپلی کیشن میں شامل ہوتا ہے۔

خلاصہ

  • ایکسپریس فریم ورک سب سے عام فریم ورک ہے جو نوڈ جے ایس ایپلی کیشنز تیار کرنے کے لیے استعمال ہوتا ہے۔ ایکسپریس فریم ورک نوڈ ڈاٹ جے ایس فریم ورک کے اوپر بنایا گیا ہے اور سرور پر مبنی ایپلی کیشنز کو تیزی سے ٹریک کرنے میں مدد کرتا ہے۔
  • درخواستوں کی بنیاد پر صارفین کو ویب ایپلیکیشن کے مختلف حصوں کی طرف موڑنے کے لیے راستے استعمال کیے جاتے ہیں۔ ہر راستے کے لیے جواب مختلف ہو سکتا ہے اس پر منحصر ہے کہ صارف کو کیا دکھانے کی ضرورت ہے۔
  • ٹیمپلیٹس کو موثر انداز میں مواد داخل کرنے کے لیے استعمال کیا جا سکتا ہے۔ جیڈ Node.js ایپلی کیشنز میں استعمال ہونے والے سب سے مشہور ٹیمپلیٹنگ انجنوں میں سے ایک ہے۔