اگر آپ نے کبھی نوڈ ڈاٹ جے ایس کے بارے میں سنا ہے تو آپ کو معلوم ہوگا کہ یہ جاوا اسکرپٹ کا سب سے نمایاں اور طاقت ور فریم ورک ہے۔ اس کی رہائی کے بعد سے ہی اس نے آئی ٹی مارکیٹ پر اپنا گڑھ برقرار رکھے ہوئے ہے۔ یہاں تک کہ نئے اور متحرک کے تعارف کے ساتھ پسند ہے ، ، الکا وغیرہ ، نوڈ ڈاٹ جے ایس کی مقبولیت کبھی ختم نہیں ہوتی ہے۔ حیرت کیوں؟ ٹھیک ہے ، اس نوڈ ڈاٹ جے ایس ٹیوٹوریل کی مدد سے ، میں آپ کو اس میں مکمل بصیرت دوں گا۔ لہذا ، نوڈ جے ایس کے ساتھ محبت میں پڑنے کے لئے تیار ہوجائیں۔
اس نوڈ ڈاٹ جے ایس ٹیوٹوریل میں ، میں مندرجہ ذیل موضوعات پر گفتگو کروں گا۔
- Node.js کیا ہے؟
- NPM (نوڈ پیکیج مینیجر)
- Node.js ماڈیولز
- JSON فائل
- نوڈ جے جے کی بنیادی باتیں
- فائل سسٹم
- تقریبات
- HTTP ماڈیول
- ایکسپریس.js
- ایکسپریس.js کے ساتھ نوڈ. جے ایس ٹیوٹوریل مرحلہ بہ ایپلی کیشن ڈویلپمنٹ
Node.js کیا ہے؟
نوڈ. جے ایس ایک طاقتور فریم ورک ہے جس پر تیار کیا گیا ہے کروم کا V8 جاوا اسکرپٹ انجن جو جاوا اسکرپٹ کو براہ راست آبائی مشین کوڈ میں مرتب کرتا ہے۔ یہ ایک ہلکا پھلکا فریم ورک ہے جو سرور سائیڈ ویب ایپلی کیشنز بنانے کے لئے استعمال کیا جاتا ہے اور جاوا اسکرپٹ API کو عام طور پر سرور سائیڈ کی خصوصیات پیش کرنے کے لئے بڑھاتا ہے۔ یہ عام طور پر بڑے پیمانے پر ایپلی کیشن ڈویلپمنٹ کے لئے استعمال کیا جاتا ہے ، خاص طور پر ویڈیو اسٹریمنگ سائٹس ، سنگل پیج ایپلی کیشن ، اور دیگر ویب ایپلی کیشنز کے لئے۔ نوڈ.جس بناتا ہے ایونٹ سے چلنے والے ، غیر بلاک کرنے والے I / O ماڈل کا استعمال جس سے یہ ڈیٹا سے وابستہ ریئل ٹائم ایپلی کیشنز کا انتخاب ہوتا ہے۔
کسی بھی دوسرے پروگرامنگ زبانوں کی طرح ، نوڈ. جے پیکیجز اور ماڈیولز کا استعمال کرتا ہے۔ یہ وہ لائبریرییں ہیں جن میں مختلف کام ہوتے ہیں اور ہمارے پاس کوڈ میں NPM (نوڈ پیکیج مینیجر) سے درآمد کیا جاتا ہے اور پروگراموں میں استعمال ہوتا ہے۔ کچھ اہم خصوصیات ، جو Node.js کی وضاحت کرتی ہیں ، ذیل میں درج ہیں:
نوڈ.جے کی خصوصیات
- آزاد مصدر
Node.js ایک اوپن سورس فریم ورک MIT لائسنس ہے جو ایک بہت بڑی برادری کے ذریعہ تعاون یافتہ ہے۔ اس کی کمیونٹی نے نوڈ. جے ایس ایپلی کیشنز میں نئی صلاحیتوں کو شامل کرنے میں بہت زیادہ سرگرم عمل ہے۔ - آسان اور تیز
چونکہ نوڈ ڈس جے گوگل کروم کے وی 8 جاوا اسکرپٹ انجن پر بنایا گیا ہے ، لہذا اس کی لائبریرییں کوڈ کو تیز رفتار پر عملدرآمد کرنے کی اہلیت رکھتی ہیں۔ - اتلیکالک
نوڈ. جے ایس کی تمام لائبریریاں غیر متزلزل ہیں جس کا مطلب ہے کہ نوڈ. جے پر مبنی سرور کبھی بھی کسی API کا جواب نہیں بھیجتے اور اگلے API میں آگے بڑھتے ہیں۔ - اعلی اسکیل ایبلٹیٹی
واقعہ کے میکانزم کی وجہ سے ، نوڈ. جے ایس انتہائی پیمانے پر ہے اور سرور کو غیر مسدود جواب میں مدد کرتا ہے۔ - ایک ہی تھریڈڈ
ایونٹ لوپنگ کی مدد سے ، نوڈ.js سنگل تھریڈ ماڈل کی پیروی کرنے کے قابل ہے۔ یہ ایک پروگرام کو ایک سے زیادہ درخواستوں کو سنبھالنے دیتا ہے۔ - کوئی بفرننگ نہیں
نوڈ. جے ایس ایپلی کیشنز کی ایک اہم خصوصیات یہ ہے کہ یہ کبھی بھی کسی ڈیٹا کو بفر نہیں کرتا ہے۔ - کراس پلیٹ فارم
ونڈوز ، میک ، اور لینکس جیسے مختلف پلیٹ فارمز پر نوڈ. جے آسانی سے تعمیر اور تعینات کیا جاسکتا ہے۔
آئیے اب آگے بڑھیں اور دیکھیں کہ براؤزر پر اصل کوڈ کو کس طرح تعینات کیا جائے۔ لیکن اس سے پہلے ، آپ کو اپنے سسٹم میں ڈاؤن لوڈ اور انسٹال کرنے کی ضرورت ہے۔ مکمل جاننے کے لئے آپ میرے دوسرے مضمون کا حوالہ دے سکتے ہیں Node.js تنصیب کا عمل .
تو ، اب ہم اس نوڈ ڈاٹ جے ایس ٹیوٹوریل میں مزید آگے بڑھتے ہیں ، جہاں میں Node.js یعنی Npm کے سب سے اہم جزو کے بارے میں بات کروں گا۔
NPM (نوڈ پیکیج مینیجر)
این پی ایم کا مطلب نوڈ پیکیج منیجر ہے جو نام کے مطابق اشارہ کیا جاتا ہے Node.js پیکیجز / ماڈیولز کے لئے ایک پیکیج مینیجر ہے۔ نوڈ ورژن 0.6.0 سے۔ اس کے بعد نوڈ انسٹالیشن میں این پی ایم کو بطور ڈیفالٹ شامل کیا گیا ہے۔ یہ آپ کو واضح طور پر NPM انسٹال کرنے کی پریشانی سے بچاتا ہے۔
بنیادی طور پر این پی ایم دو طریقوں سے مدد کرتا ہے:
جاوا میں پرنٹ رائٹر کیا ہے؟
- node.js پیکیجز / ماڈیولز کے لئے آن لائن ذخیرہیں فراہم کرتا ہے اور میزبانی کرتا ہے جنہیں آسانی سے ڈاؤن لوڈ اور ہمارے منصوبوں میں استعمال کیا جاسکتا ہے۔ آپ انہیں یہاں تلاش کرسکتے ہیں: npmjs.com
- کمانڈ لائن یوٹیلیٹی فراہم کرتا ہے تاکہ مختلف نوڈ. جے پیکیجز کو انسٹال کیا جاسکے ، نوڈ جے جے ورژن اور پیکجوں کے انحصار کا انتظام کیا جاسکے۔
لیکن اب آپ سوچ رہے ہونگے کہ یہ ماڈیول دراصل کیا ہیں اور وہ Node.js ایپلیکیشنس کی تعمیر میں ہماری مدد کیسے کرتے ہیں۔ ٹھیک ہے ، اس نوڈ. جے ایس ٹیوٹوریل کے اگلے حصے میں ، میں آپ کو نوڈ. جے ایس ماڈیول کے بارے میں مکمل بصیرت دوں گا۔
Node.js ماڈیولز
نوڈ. جے ایس میں ماڈیول مختلف افعالیت کی نمائندگی کرتے ہیں جو اکیلی یا ایک سے زیادہ جے ایس فائلوں میں بنڈل ہیں۔ یہ ماڈیول ایک الگ سیاق و سباق رکھتے ہیں ، اس طرح ، وہ دوسرے ماڈیولز کی وسعت کو کبھی مداخلت نہیں کرتے ہیں اور نہ ہی آلودہ کرتے ہیں۔
یہ ماڈیول کوڈ کو دوبارہ پریوست بناتے ہیں اور استعمال میں آسانی کو بہتر بناتے ہیں۔ نوڈ.جس بنیادی طور پر تین قسم کے ماڈیول فراہم کرتا ہے:
- بنیادی ماڈیولز
- مقامی ماڈیولز
- تیسری پارٹی کے ماڈیولز
بنیادی ماڈیول
چونکہ نوڈ.جس ایک بہت ہے ہلکا پھلکا فریم ورک ، بنیادی ماڈیول مطلق کم سے کم افعال کو بنڈل دیتے ہیں۔ یہ ماڈیول عام طور پر بھری پڑتے ہیں جب نوڈ عمل اس پر عمل درآمد شروع کرتا ہے۔ آپ کو ان بنیادی ماڈیولز کو اپنے کوڈ میں استعمال کرنے کے لئے درآمد کرنے کی ضرورت ہے۔
ذیل میں میں نے کچھ اہم کور ماڈیولز کی فہرست دی ہے۔
بنیادی ماڈیول | تفصیل |
HT | نوڈ. جے ایس ایچ ٹی ٹی پی سرور بنانے کے لئے درکار کلاسز ، طریقوں اور واقعات پر مشتمل ہے |
یو آر ایل | نوڈ میں یو آر ایل ریزولوشن اور پارس کرنے کے طریقے شامل ہیں |
استفسار | نوڈ کے استفسار کے سلسلے سے نمٹنے کے ل methods طریقوں پر مشتمل ہے |
راستہ | فائل والے راستوں سے نمٹنے کے طریقوں پر مشتمل ہے |
Fs | فائل I / O کے ساتھ کام کرنے کے لئے کلاسز ، طریقوں اور واقعات پر مشتمل ہے |
مفید | افادیت کے افعال پر مشتمل ہے جو پروگرامرز کے لئے کارآمد ثابت ہوسکتی ہے |
آپ اپنے بنیادی ماڈیول کو نیچے کوڈ کا استعمال کرکے لوڈ کرسکتے ہیں۔
متغیر ماڈیول = کی ضرورت ہے ('ماڈیول_ نام')
اب دیکھتے ہیں ، ’مقامی ماڈیولز‘ کیا ہیں۔
مقامی ماڈیولز
Node.js کے مقامی ماڈیول اپنی مرضی کے مطابق ماڈیول ہیں جو اطلاق میں صارف / ڈویلپر کے ذریعہ مقامی طور پر بنائے جاتے ہیں۔ ان ماڈیولز میں مختلف فائلیں شامل ہوسکتی ہیں جو مختلف فائلوں اور فولڈروں میں بنائی گئی ہیں جنہیں NP.js کمیونٹی میں آسانی سے NPM استعمال کرکے تقسیم کیا جاسکتا ہے۔
یہ ماڈیولز اسی طرح کور ماڈیولز میں بھری ہوئی ہیں۔ آئیے آپ کو بتاتے ہیں ، کہ ایک بنیادی مثال کا استعمال کرتے ہوئے اسے کیسے کرنا ہے۔
اپنی مرضی / مقامی ماڈیول.js فائل بنائیں
var تفصیل = {نام: فنکشن (نام) {console.log ('نام:' + نام) domain ، ڈومین: فنکشن (ڈومین) {console.log ('ڈومین:' + ڈومین)}} मॉडول.export = تفصیل
اپنی ماڈیول فائل کو اپنی مرکزی درخواست فائل میں شامل کریں۔
var myLogModule = need ('./ Local_module.js') myLogModule.name ('Edureka') myLogModule.domain ('تعلیم')
اب آپ نیچے دی گئی کمانڈ کا استعمال کرکے ان فائلوں کو پھانسی دے سکتے ہیں۔
نوڈ application.js
اب میں آپ کو دکھاتا ہوں کہ بیرونی ماڈیول کیا ہیں۔
بیرونی ماڈیولز
آپ بیرونی یا 3 استعمال کرسکتے ہیںrdپارٹی ماڈیول صرف این پی ایم کے ذریعے ان کو ڈاؤن لوڈ کرکے۔ یہ ماڈیول عام طور پر دوسرے ڈویلپرز کے ذریعہ تیار کیے جاتے ہیں اور استعمال میں آزاد ہیں۔ کچھ بہترین بیرونی ماڈیولز ایکسپریس ، ری ایکٹ ، گلپ ، منگوز ، موچہ وغیرہ ہیں۔
عالمی سطح پر تیسری پارٹی کے ماڈیول لوڈ ہورہے ہیں:
npm انسٹال --g
اپنی ماڈیول فائل کو اپنی مرکزی درخواست فائل میں شامل کریں۔
این پی ایم انسٹال کریں - محفوظ کریں
JSON فائل
package.json فائل Node.js میں پوری ایپلیکیشن کا دل ہے۔ یہ بنیادی طور پر مینی فیسٹ فائل ہے جس میں پروجیکٹ کا میٹا ڈیٹا ہوتا ہے۔ اس طرح ، نوڈ پروجیکٹ کی کامیاب نشوونما کے لئے اس فائل کو سمجھنا اور اس کے ساتھ کام کرنا بہت ضروری ہوجاتا ہے۔
پیکیج.جسن فائل عام طور پر ایپلی کیشن کے میٹا ڈیٹا پر مشتمل ہوتی ہے ، جس کو مزید دو اقسام میں درجہ بندی کیا جاتا ہے۔
- میٹا ڈیٹا کی خصوصیات کی نشاندہی کرنا: اس میں پراجیکٹ کا نام ، موجودہ ماڈیول ورژن ، لائسنس ، پروجیکٹ کا مصنف ، منصوبے کی تفصیل وغیرہ شامل ہیں۔
- براہ راست فائل کرنے کے لئے لکھنا: آپ ضروری معلومات کو براہ راست پیکیج jjon فائل میں لکھ سکتے ہیں اور اسے اپنے پروجیکٹ میں شامل کرسکتے ہیں۔
اب تک آپ نوڈ جے ایس درخواست کے مختلف اجزاء سے پہچان چکے ہیں۔ اس نوڈ ڈاٹ جے ایس ٹیوٹوریل کے اگلے حصے میں ، میں نوڈ Js کی کچھ بنیادی باتوں کا اشتراک کروں گا تاکہ ہم ہاتھوں سے شروع کر سکیں۔
نوڈ جے جے کی بنیادی باتیں
چونکہ نوڈ. جے ایس ایک جاوا اسکرپٹ فریم ورک ہے ، لہذا اس میں جاوا اسکرپٹ کا نحوی استعمال کیا گیا ہے۔ اگر آپ جاوا اسکرپٹ کو تفصیل سے سیکھنا چاہتے ہیں تو ، آپ اس کا حوالہ دے سکتے ہیں . ابھی کے ل، ، میں آپ کو کچھ نوڈ ڈاٹ جے ایس کی بنیادی باتوں سے اس طرح برش کروں گا:
ڈیٹا کی اقسام
کسی بھی دوسرے پروگرامنگ لینگویج کی طرح ، نوڈ ڈاٹ جے ایس کے پاس مختلف ڈیٹا ٹائپز ہیں ، جنھیں مزید قدیم اور غیر آدم ڈیٹا ٹائپ میں درجہ بند کیا گیا ہے۔
ابتدائی ڈیٹا کی اقسام ہیں:
- سٹرنگ
- نمبر
- بولین
- خالی
- غیر متعینہ
غیر قدیم اعداد و شمار کی اقسام ہیں:
- چیز
- تاریخ
- صف
متغیرات
متغیر وہ ہستی ہیں جو اقدار کی حامل ہوتی ہیں جو کسی پروگرام کے دوران مختلف ہو سکتی ہیں۔ نوڈ. جے ایس میں ایک متغیر بنانے کے ل you ، آپ کو ایک مخصوص مطلوبہ الفاظ کے متغیر کا استعمال کرنے کی ضرورت ہے۔ آپ کو ڈیٹا کی قسم تفویض کرنے کی ضرورت نہیں ہے ، کیونکہ مرتب کرنے والا خود بخود اسے چن لے گا۔
نحو:
var varName = value
آپریٹرز
Node.js مندرجہ ذیل آپریٹرز کی حمایت کرتا ہے:
آپریٹر کی قسم | آپریٹرز |
ریاضی | + ، - ، / ، * ،٪ ، ++ ، - |
تفویض | =، + =، - =، * =، / =،٪ = |
مشروط | =؟ |
موازنہ | ==، ===،! =،! ==،> ،> = ،<, <=, |
منطقی | &&، || ،! |
تھوڑا سا | &، |، ^، ~،<>، >>> |
افعال
نوڈ. جے ایس میں افعال کوڈ کا ایک بلاک ہے جس کا نام ہے اور کسی خاص کام کو حاصل کرنے کے لئے لکھا گیا ہے۔ اس کو بنانے کے ل You آپ کو مطلوبہ الفاظ کی فعل استعمال کرنے کی ضرورت ہے۔ ایک فنکشن عام طور پر ایک دو قدمی عمل ہوتا ہے۔ پہلے فنکشن کی وضاحت کر رہا ہے اور دوسرا اس کی طلب کررہا ہے۔ ذیل میں کسی فنکشن کو تخلیق کرنے اور اس کی درخواست کرنے کا نحو ہے۔
مثال:
// کسی فنکشن ڈسپلے کی وضاحت_ظام_نام (پہلا نام ، آخری نام) {انتباہ ('ہیلو' + پہلا نام + '' + آخری نام) the // تقریب ڈسپلے_نیام ('پارک' ، 'جمین') کی طلب کرنا
اعتراضات
ایک شے غیر اعداد و شمار کی قسم ہے جو خصوصیات اور طریقوں کے لحاظ سے متعدد اقدار کو برقرار رکھ سکتی ہے۔ نوڈ.جس آبجیکٹ اسٹینڈلیٹ ہستی ہیں کیونکہ کلاس کا کوئی تصور نہیں ہے۔ آپ دو طرح سے کوئی شے تشکیل دے سکتے ہیں۔
- لفظی لفظی استعمال کرنا
- آبجیکٹ کنسٹرکٹر کا استعمال کرتے ہوئے
مثال:
// اعتراض کے ساتھ پراجیکٹ اور طریقہ وار ملازم = {// پراپرٹیز پہلا نام: 'منھو' ، آخری نام: 'چوئی' ، عمر: 35 ، تنخواہ: 50000 ، // طریقہ getFullName: تقریب () {اس کو واپس کریں۔ پہلا نام + '' + this.lastName}
فائل سسٹم
جسمانی فائل سسٹم تک رسائی حاصل کرنے کے ل N ، نوڈ.js اس کا استعمال کرتا ہے Fs ماڈیول جو بنیادی طور پر تمام متضاد اور ہم وقت ساز فائل I / O کارروائیوں کا خیال رکھتا ہے۔ یہ ماڈیول مندرجہ ذیل کمانڈ کا استعمال کرتے ہوئے درآمد کیا گیا ہے:
var fs = اړتیا ('fs')
فائل سسٹم ماڈیول کے لئے کچھ عام استعمال یہ ہیں:
- فائلیں پڑھیں
- fs.readFile ()
var http = اړتیا ('HTTP') var fs = اړتیا ('fs') HTTP.createServer (فنکشن (req، res) {fs.readFile ('اسکرپٹ. txt'، فنکشن (غلطی، ڈیٹا) {res.writeHead ( 200 ، Content 'مشمولات کی قسم': 'عبارت / html'}) res.writ (ڈیٹا) res.end ()})}) سنو (8080)
- فائلیں بنائیں
- appendFile ()
- کھولیں ()
- لکھنا فائل ()
- فائلوں کو اپ ڈیٹ کریں
- fs.appendFile ()
- fs.writeFile ()
- فائلیں حذف کریں
- fs.unlink ()
- فائلوں کا نام تبدیل کریں
- fs.rename ()
لہذا ، ان احکامات کی مدد سے ، آپ اپنی فائلوں پر تمام مطلوبہ کاروائیاں بہت زیادہ انجام دے سکتے ہیں۔ آئیے اب اس نوڈ ڈاٹ جے ایس ٹیوٹوریل کے ساتھ آگے بڑھیں اور دیکھیں کہ ایونٹس کیا ہیں اور نوڈ جے جے میں ان کو کس طرح سنبھالا جاتا ہے۔
تقریبات
جیسا کہ میں نے پہلے ہی ذکر کیا ہے ، نوڈ. جے ایس ایپلی کیشنز واحد تھریڈ اور ایونٹ پر مبنی ہیں۔ نوڈ.جس اتفاق کی حمایت کرتا ہے کیونکہ یہ واقعہ پر مبنی ہے ، اور اس طرح واقعات اور کال بیکس جیسے تصورات کا استعمال کرتا ہے۔ async فنکشن کالز پورے استعمال میں ہم آہنگی برقرار رکھنے میں Node.js کی مدد کرتی ہے۔
بنیادی طور پر ، نوڈ. جے ایس ایپلی کیشن میں ، ایک اہم لوپ ہوتا ہے جو واقعات کا انتظار کرتا ہے اور سنتا ہے ، اور ایک بار جب کوئی واقعہ مکمل ہوجاتا ہے تو ، وہ فورا. ہی کال بیک کام شروع کرتا ہے۔
ڈایاگرام کے نیچے یہ نمائندگی کرتا ہے کہ نوڈ جے جے میں واقعات کو کس طرح چلائے جاتے ہیں۔
ایک چیز جو آپ یہاں نوٹ کرنی چاہئے وہ یہ ہے ، اگرچہ واقعات کال بیک کے افعال سے ملتے جلتے نظر آتے ہیں لیکن فرق ان کی فعالیتوں میں ہے۔ جب ایک غیر متزلزل فنکشن لوٹتا ہے تو اس کے نتائج کی کال بیکس دوسری طرف کی جاتی ہیں جب ہینڈلنگ مکمل طور پر مبصر کی طرز پر کام کرتی ہے۔ اور نوڈ جے میں ، طریقوں کو جو واقعات کو سنتے ہیں وہ مبصرین کہلاتے ہیں۔ جس لمحے ، ایک واقعہ کو متحرک کیا جاتا ہے ، اس کا سننے والا فنکشن خود بخود پھانسی دینے لگتا ہے۔ ایونٹ کے ماڈیولز اور ایونٹ ایمیٹر کلاس متعدد ان بلٹ ایونٹ فراہم کرتے ہیں جو ایونٹ کے سامعین کے ساتھ واقعات کو باندھنے کے لئے استعمال ہوتے ہیں۔ ذیل میں میں نے اس کے لئے نحو لکھا ہے۔
جاوا میں اسکینر کیسے لکھیں
واقعہ سننے والے کو واقعہ کا پابند بنانا
// امپورٹ ایڈیول ماڈیول var my_Events = مطلوب ('واقعات') // ایک ایونٹ اییمٹر آبجیکٹ بنائیں my_EveEmitter = new my_Events.EventEmitter ()
واقعہ کے ساتھ ہینڈلر کو پابند کرنا
// بائنڈنگ ایونٹ اور ایونٹ ہینڈلر my_EveEmitter.on ('ایونٹ نام' ، ایونٹ ہینڈلر)
واقعہ پر فائرنگ
// ایونٹ کو برطرف کریں my_EveEmitter.emit ('واقعہ کا نام')
اب آئیے ان نوڈ ڈاٹ جے ایس ایونٹ سیکشن میں ان چیزوں کو عملی جامہ پہنانے کی کوشش کرتے ہیں جن پر میں نے تبادلہ خیال کیا ہے۔مندرجہ ذیل کوڈ میں Node.js. میں واقعہ پر عمل درآمد کی سادہ نمائندگی دکھائی گئی ہے۔
var emitter = اړتیا ('واقعات'). واقعہ Emitter فنکشن iterateProcessor (num) {var emt = new emitter () setTimeout (فنکشن () {for (var i = 1 i & lt = num i ++) {emt.emit ('UsedProcess') ، i) کنسول.لوگ ('پروسیسنگ آئٹریشن:' + i) emt.emit ('afterProcess' ، i)}}، 5000) واپس ایمٹ} var it = iterateProcessor (5) it.on ('قبل از عمل' ، فنکشن ( معلومات) {console.log ('+ معلومات کے لئے عمل شروع کرنا').) it.on ('afterProcess' ، فنکشن (معلومات) so console.log ('معلومات کے لئے پروسیسنگ مکمل کرنا')
اس نوڈ. جے ایس ٹیوٹوریل کے اگلے حصے میں ، میں آپ کو نوڈ. جے ایس کے ایک انتہائی اہم ماڈیول کے بارے میں بصیرت دوں گا جسے HTTP Module کہا جاتا ہے۔
HTTP ماڈیول
عام طور پر ، نوڈ.js سرور پر مبنی ایپلی کیشنز تیار کرنے کے لئے استعمال کیا جاتا ہے۔ لیکن ماڈیول کا استعمال کرتے ہوئے ، آپ آسانی سے ویب سرور تشکیل دے سکتے ہیں جو کلائنٹ کی درخواستوں کا جواب دے سکیں۔ اس طرح اس کو ویب ماڈیول کا بھی حوالہ دیا جاتا ہے اور یہ HTTP اور درخواست جیسے ماڈیول فراہم کرتا ہے جو سرور کی درخواستوں پر کارروائی کرنے میں Node.js کی سہولت فراہم کرتا ہے۔
اس ماڈیول کو آسانی سے صرف نیچے کا کوڈ لکھ کر اپنی Node.js ایپلیکیشن میں شامل کرسکتے ہیں۔
var http = اړتیا ('HTTP')
ذیل میں میں نے ایک کوڈ لکھا ہے ، جس میں یہ ظاہر ہوتا ہے کہ Node.js میں کیسے ویب سرور تیار کیا جاتا ہے۔
// کالنگ http کتب خانہ var http = اړتیا ('HTTP') var url = need ('url') // سرور بنانا var سرور = http.createServer (فنکشن (req، res) {// ترتیب دینے والا مواد ہیڈر res.writeHead ( 200 ، ('مشمولات کی قسم' ، 'متن / html')) var q = url.parse (req.url، true). سوال var txt = q.year + '' + q.month // جواب کو تار بھیجیں res.end (txt) //) // سرور سننے پورٹ سرور کے طور پر 8082 تفویض کرنا۔
اس نوڈ. جے ایس ٹیوٹوریل کے اگلے حصے میں ، میں ایکسپریس. جے ایس کے بارے میں بات کروں گا جو سرور سائڈ ویب ایپلی کیشن ڈویلپمنٹ کے لئے بہت زیادہ استعمال ہوتا ہے۔
ایکسپریس.js
ایکسپریس.js نوڈیا جے ایس کے اوپر بنایا ہوا ایک فریم ورک ہے جو سرور اور سائڈ ایپلی کیشنز میں سرور اور راستوں کے مابین ڈیٹا کے بہاؤ کے انتظام کی سہولت فراہم کرتا ہے۔ یہ ایک ہلکا پھلکا اور لچکدار فریم ورک ہے جو ویب کے لئے ضروری خصوصیات کی ایک وسیع رینج کے ساتھ ساتھ موبائل ایپلیکیشن ڈویلپمنٹ بھی فراہم کرتا ہے۔
ایکسپریس.js Node.js کہا جاتا ہے کے مڈل ویئر ماڈیول پر تیار کیا گیا ہے جڑیں . متصل ماڈیول مزید استعمال کرتا ہے HT ماڈیول Node.js. کے ساتھ بات چیت کرنے کے لئے. اس طرح ، اگر آپ کسی بھی کنیکٹ پر مبنی مڈل ویئر ماڈیولز کے ساتھ کام کر رہے ہیں ، تو آپ آسانی سے ایکسپریس.js کے ساتھ مل سکتے ہیں۔
نہ صرف ، بلکہ ، ایکسپریس ڈاٹ جے کے اہم فوائد میں سے کچھ یہ ہیں:
SAS پروگرامنگ زبان کیا ہے؟
- ویب ایپلیکیشن کی ترقی کو تیز تر بناتی ہے
- سنگل پیج ، ملٹی پیج ، اور ہائبرڈ اقسام کے موبائل اور ویب ایپلیکیشن کی تعمیر میں مدد کرتا ہے
- ایکسپریس دو ٹمپلٹنگ انجنوں جیڈ اور ای جے ایس مہیا کرتی ہے
- ایکسپریس ماڈل ویو-کنٹرولر (MVC) فن تعمیر کو فالو کرتی ہے
- ڈیٹا بیس جیسے منگو ڈی بی ، ریڈیس ، ایس ایس کیو ایل کے ساتھ انضمام کرتا ہے
- مڈل ویئر کو سنبھالنے میں ایک خرابی کی وضاحت کرتا ہے
- اطلاق کے ل configuration ترتیب اور حسب ضرورت کو آسان بناتا ہے۔
ان تمام خصوصیات کے ساتھ ، ایکسپریس MEAN اسٹیک میں پسدید حصہ کی ذمہ داری لیتی ہے۔ میین اسٹیک اوپن سورس جاوا اسکرپٹ سافٹ ویئر اسٹیک ہے جو متحرک ویب سائٹ اور ویب ایپلی کیشنز کی تعمیر کے لئے استعمال ہوتا ہے۔ یہاں ، مطلب سے مراد ایم ongoDB ، ہے xpress.js ، TO ngularJS ، اور این ode.js.
اب سمجھنے کے لئے ایک سادہ سی مثال دیکھنے دیں ، ایکسپریس. جے ہمارے کام کو آسان بنانے کے ل N نوڈ ڈاٹ جے ایس کے ساتھ کیسے کام کرتی ہے۔ لیکن ایکسپریس ڈاٹ جے ایس کے ساتھ کام کرنے سے پہلے ، آپ کو اسے اپنے سسٹم میں انسٹال کرنے کی ضرورت ہے۔
ایکسپریس.js کو عالمی سطح پر انسٹال کرنے کے لئے آپ نیچے دی گئی کمانڈ استعمال کرسکتے ہیں۔
npm انسٹال -g ایکسپریس
یا ، اگر آپ اسے اپنے پراجیکٹ فولڈر میں مقامی طور پر انسٹال کرنا چاہتے ہیں تو ، آپ کو نیچے کی کمانڈ پر عملدرآمد کرنے کی ضرورت ہوگی۔
این پی ایم انسٹال ایکسپریس - سیو
چونکہ ہم تمام تیاریوں کے ساتھ کر رہے ہیں ، آئیے اب براہ راست عملی عمل میں جائیں۔ یہاں ، میں Node.js اور Express.js کا استعمال کرتے ہوئے ایک سادہ صارف کی توثیقی ایپلی کیشن دکھائے گا۔
ایکسپریس.js کے ساتھ نوڈ. جے ایس ٹیوٹوریل مرحلہ بہ ایپلی کیشن ڈویلپمنٹ
اس کے ل we ، ہمیں فائلوں سے نیچے کی ضرورت ہوگی۔
- package.json
- اسکرپٹ.جز
- آراء
- index.jade
- login.jade
- Safe.jade
- غیر مجاز. jade
- स्वागत ہے۔ جیڈ
- lib
- ways.js
تو ، کی شروعات کرتے ہیں package.json .
author 'مصنف': 'ایڈورکا' ، 'نام': 'ایکسپریس_ڈیمو' ، 'وضاحت': 'ایکسپریس ود نوڈ. جے ایس' ، 'ورژن': '0.0.0'، 'اسکرپٹس': start 'اسٹارٹ': 'نوڈ اسکرپٹ.جز '}،' انجن ': {' نوڈ ':' ~ 0.4.12 '}،' انحصار ': connect' کنیکٹ-فلیش ':' ^ 0.1.1 '،' کوکی پارس ':' ^ 1.4 .3 '،' ایکسپریس ':' ^ 3.21.2 '،' جیڈ ':' ^ 0.20.3 '،' ریک فلیش ':' 0.0.3 '}،' devD dependency ': {}}
اگلا ، آپ کو تخلیق کرنے کی ضرورت ہے اسکرپٹ.جز .
var ایکسپریس = کی ضرورت ہوتی ہے ('ایکسپریس') var HTTP = ضرورت ('HTTP') var پورٹ = 8999 var ایپ = ایکسپریس () کونسٹ فلیش = کی ضرورت ہوتی ہے ('کنیکٹ - فلیش') ور کوکی پارس = ضرورت ('کوکی پارس') var سرور = http.createServer (اپلی کیشن) فنکشن چیکآاٹ (req ، res ، اگلی) {console.log ('checkAuth' + req.url) // لاگ ان نہ ہونے والوں کو خدمت / محفوظ نہ کریں اگر (req.url = == '/ محفوظ' && (! req.session ||! req.session.authenticated)). res.render ('غیر مجاز'، {حیثیت: 403}) واپسی} اگلا ()} app.use (فلیش () ) ایپ.یوز (کوکی پارسیر ()) ایپ.یوز (ایکسپریس.سیژن ({خفیہ: 'مثال'})) ایپ.یوز (ايڪسپریس.بی پارسر ()) ایپ.یوز (چیک آؤٹ) ایپ.یوز (ایپ.روٹر) app.set ('دیکھیں انجن' ، 'جیڈ') app.set ('ملاحظہ کریں اختیارات' ، {ترتیب: جھوٹی}) کی ضرورت ہوتی ہے ('./ lib /ways.js') (ایپ) app.listen (پورٹ) کنسول .log ('پورٹ٪ s پر نوڈ سن رہا ہے' ، پورٹ)
اب ، ایک فولڈر بنائیں جس کا نظریہ دیکھیں ، جس کے تحت آپ جیڈ فائلوں کو شامل کریں گے جو صفحہ کے مختلف نظارے کے لئے ذمہ دار ہوں گے۔ آپ کو پہلی مرتبہ دیکھنے والی فائل کی تشکیل کی ضرورت ہے index.jade .
!!! 5 html (lang = 'en') ہیڈ ٹائٹل صارف کی توثیق مثال مثال کے طور پر جسم H1 مرکز توثیق ڈیمو ایکسپریس h3 کا استعمال کرتے ہوئے h4 ال لی پر جائیں: a (href = '/ Safe') محفوظ مواد لی: ا (href = '/ ویلکم') صفحہ میں خوش آمدید: a (href = '/ logout') لاگ آؤٹ
اب ، تخلیق کریں login.jade فائل
!!! 5 html (lang = 'en') ہیڈ ٹائٹل ایکسپریس تصنیف مثال مثال باڈی h1 سینٹر اس ایکسپریس میں توثیقی مثال مثال p صارف صارف نام اور کے لئے پاس پاس ورڈ کے لئے فارم (طریقہ = 'پوسٹ') پی لیبل (کے لئے = 'صارف نام') ای میل ایڈریس ان پٹ (قسم = 'متن' ، نام = 'صارف نام' ، کلاس = 'فارم-کنٹرول' ، ID = 'مثال ان پٹ پاس ورڈ 1' ، پلیس ہولڈر = ' ای میل '، انداز =' چوڑائی: 400px ') p سینٹر لیبل (کے لئے =' پاس ورڈ ') پاس ورڈ ان پٹ (قسم =' پاس ورڈ '، نام =' پاس ورڈ '، کلاس =' فارم-کنٹرول '، ID =' مثال ان پٹ پاس ورڈ 1 '، پلیس ہولڈر = 'پاس ورڈ' ، اسٹائل = 'چوڑائی: 400px') p سینٹر جمع کروائیں - فلیش H4 میں ہر پیغام (انداز = 'رنگ: سرخ') # {پیغام}
اگلا قدم ہے بنانا ہے स्वागत ہے۔ جیڈ .
!!! 5 HTML (lang = 'en') ہیڈ عنوان صارف کی توثیق مثال مثال کے طور پر جسم H1 مرکز ایڈورکا سبق میں خوش آمدید!
اگلا ، تشکیل دیں Safe.jade فائل
!!! 5 html (lang = 'en') ہیڈ ٹائٹل ایکسپریس توثیق مثال مثال جسم H1 مرکز ہائے ، محفوظ صارف۔ p نیویگیٹ پر ال لی: a (href = '/ محفوظ') محفوظ مواد لی: ا (href = '/ ویلکم') صفحہ صفحہ استقبال: a (href = '/ logout') لاگ آؤٹ
اب ، تخلیق کریں غیر مجاز. jade فائل
!!! 5 html (lang = 'en') عنوان عنوان صارف کی توثیق مثال مثال کے طور پر جسم H1 مرکز غیر مجاز p آپ اس صفحے کو دیکھنے کے لئے غیر مجاز ہیں۔ براہ کرم ' جاری رکھنے کے لئے
اب ، آپ کو ایک فولڈر بنانے اور اسے نام دینے کی ضرورت ہے lib . اب ، ایک بنائیں मार्ग.js فائل جو تمام صفحات کا نقشہ بنائے گی۔
var استعمال = مطلوبہ ('استعمال') ماڈیول.سپورٹ = فنکشن (ایپ) {app.get ('/' ، فنکشن (req ، res ، اگلا) {res.render ('انڈیکس')}) app.get (' / استقبال '، فنکشن (req ، res ، اگلی) {res.render (' ویلکم ')}) app.get (' / محفوظ '، فنکشن (req ، res ، اگلے) {res.render (' محفوظ ')} ) app.get ('/ لاگ ان' ، فنکشن (req ، res ، اگلا) {res.render ('لاگ ان'، {فلیش: req.flash ()}) app) app.post ('/ login'، فنکشن ( req ، res ، اگلے) {// آپ یہاں ایک ڈیٹا بیس اپ نظر کرنا چاہتے ہو یا کچھ اور توسیع پزیر بن سکتے ہو اگر (req.body.username && req.body.username === 'صارف' && req.body.password && req.body.password === 'pass') {req.session.authenticated = true res.redirect ('/ محفوظ')} دوسری {req.flash ('خرابی' ، 'صارف کا نام اور پاس ورڈ غلط ہے') res۔ ری ڈائریکٹ ('/ لاگ ان')}}) app.get ('/ لاگ آؤٹ'، فنکشن (req، res، اگلی) re req.session.authenticated res.redirect ('/') {) کو حذف کریں}
اب اگر آپ خود ہی اس کوڈ کو عملی شکل دینا چاہتے ہیں تو آپ اسے یہاں سے ڈاؤن لوڈ کرسکتے ہیں: نوڈ. جے ایس ٹیوٹوریل پی ڈی ایف .
اس کے ساتھ ، ہم اس نوڈ. جے ایس ٹیوٹوریل کا اختتام کرتے ہیں۔ مجھے امید ہے کہ میں زمین سے نوڈ ڈاٹ جے کے تصورات کی وضاحت کرنے کے قابل تھا۔
اگر آپ کو یہ 'Node.js سبق ملا ہے ”متعلقہ ، چیک کریں ایڈوریکا کے ذریعہ ، ایک قابل اعتماد آن لائن سیکھنے والی کمپنی جس کی دنیا بھر میں 250،000 سے زیادہ مطمئن سیکھنے والوں کا نیٹ ورک موجود ہے۔
ہمارے لئے ایک سوال ہے؟ براہ کرم اس نوڈ ڈاٹ جے ایس ٹیوٹوریل کے تبصرے سیکشن میں اس کا تذکرہ کریں اور ہم آپ کو واپس ملیں گے۔