آموزش node.js

در این وبلاگ زبان برنامه نویسی node.js به صورت کامل آموزش داده خواهد و این آموزش برای برنامه نویسان مبتدی و حرفه ای می باشد

آموزش node.js

در این وبلاگ زبان برنامه نویسی node.js به صورت کامل آموزش داده خواهد و این آموزش برای برنامه نویسان مبتدی و حرفه ای می باشد

سلام;
از اونجاییکه منابع فارسی زیادی برای آموزش node.js وجود نداره تصمیم گرفتم این وبلاگ رو برای آموزش ایجاد کنم . در ضمن پاسخگوی سوالات شما هم خواهم بود!

طبقه بندی موضوعی
بایگانی

ساخت سرور با استفاده از ماژول HTTP - بخش ششم

سه شنبه, ۴ تیر ۱۳۹۸، ۱۲:۵۷ ق.ظ

درود;

از این قسمت به بعد عملا وارد برنامه نویسی می شیم ! اولین کاریم که باید بکنیم اینه که با استفاده از ماژول درونی HTTP یک سرور ایجاد کنیم.

ساخت-سرور-http-nodejs-آموزش

به قسمت ششم آموزش nodejs خوش اومدید!!

خب ماژول HTTP برای ما یک سرور می سازه که قابلیت اینو داره که درخواست ها رو بگیره و بهشون جواب بده و یه سری کار های دیگه!

خب برای شروع لطف کنین و این ماژول رو فراخوانی کنید:


1
var http = require("http") ;
خیلی خب حالا شروع می کنیم به ساختن سرور مون . اینکار با استفاده از ()createServer انجام میشه .خب شما باید از یک تابع برگشتی (Callback Function) استفاده کنید که دو تا آرگومان داره اولی برای درخواست کاربره و دومی برای پاسخی که از سمت سرور میره .
1
2
3
http.createServer(function(req,res){
   
})
خب احتمالا می دونید که به جای req و res هر چیزی که خودتو دوست دارید می تونید بزارید.
بزارید برای اینکه شروع کنیم برنامه بنویسیم که وقتی سرور ما ایجاد شد به ما اطلاع بده . ما اینکار رو با استفاده از ()console.log انجام می دیم. پیام این تایع توی ترمینالتون نمایش داده میشه پس :

1
2
3
http.createServer(function(req,res){
   console.log('vasl shodi!');
});
خب اگه به ترمینال نگاه کنید پیام می بینید. 
ولی ما دوست نداریم که به کاربرمون اینرو نشون بدیم ! بلکه کاربر در اصل با استفاده از مرورگر به سایت متصل میشه پس ما باید بتونیم که توی مرورگر بهش جواب بدیم . این جواب ما می تونه هدایت کاربر به یک صفحه ی Html باشه و یا یک متن ساده . بزارید با ارسال یک متن شروع کنیم :

1
2
3
4
http.createServer(function(req,res){
   console.log('vasl shodi!');
   res.end('khosh oomadi!');
});
خیلی خب ما یه خط اضافه کردیم. همونطور که می بینید res یا جوابی سرور میخواد به کاربر بده متدی داره به اسم ()end . در اصل ()end میگه که پاسخ سرور تموم شده و می تونه برای کاربر ارسال کنید.
ولی می تونید متنی هم با استفاده از اون بفرستید. میتونید اینکار رو با استفاده از یه تابع دیگه هم انجام بدید.

1
2
3
4
5
http.createServer(function(req,res){
   console.log('vasl shodi!');
   res.write('khosh oomadi!');
   res.end()
});
دقت کنید که با استفاده از ()write پیغام رو ارسال کردیم ولی مجبوریم دوباره از ()end استفاده کنیم. پس عقل میگه که دوخطو بکن یه خط! ولی احتمالا شما خیلی کم از اینها استفاده می کنید. متن خالی برای کاربر جذابیتی نداره ! شما باید یاد بگیرید که قایل های Html رو ارسال کنید و امثال اون .
خیلی خب کجا بریم نتیجه کارم رو ببینیم؟
اول باید برنامتون رو اجرا کنید . چطوری ؟ توضی دادیم ولی یه بار دیگه هم میگم کد ها رو توی فایلی مثلا به اسم app.js ذخیره کنید و بعد در داحل ترمینال بزنید:

node app.js
همین برنامه اجرا میشه. خب طبیعتا شما نمی تونید نتیجه رو ببینید چون نتیجه نه توی اینجا بلکه توسط مرورگر بهتون داده میشه ! مرورگرتون رو باز کنید.
خب دقت کنید آدرسی که سرور های ما توش بارگذاری میشن اینه : http://localhost
خب یعنی هاست محلی ، اسمش به کارش میاد!
خب برید به این آدرس . متاسفانه می بینید که اتفاقی نمی افته. میخوام یه نکته رو اینجا بهتون بگم.

سرور node چطوری کار می کنه ؟

ببنید روند کار اینجوریه که برنامه ای که می نویسید منتظر شما می مونه ! یعنی چی یعنی شما با استفاده از terminal برنامتون رو اجرا می کنید بعد برنامه منتظر می مونه تا شما با استفاده از مرورگر بهش درخواست بدید بعد کارهایی رو که تعریف کردید انجام میده.
خب الان باید شما با مفهومی به اسم پورت آشنا بشین . دانشگاهی براتون تعریف نمی کنم! در نظر بگیرید  هر پروت مثل یه در میمونه . دری که پلاک روشه . کاربری که با برنامه ی کار داره باید بیاد در خونه ی مارو بزنه . کاربر از کجا می دونه کدوم درو بزنه با استفاده از شماره ای که بهش می دیم. خب پس بیاید و بهش یه شماره بدید تا بشینه و منتظر درخواست بمونه :

1
2
3
4
5
http.createServer(function(req,res){
   console.log('vasl shodi!');
   res.write('khosh oomadi!');
   res.end()
}).listen(3000)
خب به خط آخر توجه کنید. از ()listen استفاده کردیم. در حقیقت بدون این تابع چه اتفاقی می افته . برنامه ی ما کد ها رو میخونه اون های رو که می تونه اجرا می کنه بعدشم بسته میشه! منتظر کسی نمی مونه بلکه کارشو بدون کاربر انجام میده.
ولی ()listen بهش میگه که باید منتظردرخواست کاربر بمونی، کجا ؟ روی پورت 3000;
خب حالا توی مرورگرتون به این آدرس برید : http://localhost:3000
بعد از قسمت اصلی « : » بزارید و بعد شماره ی پورت رو بزارید.

توی سایت واقعی آدرستون این شکلی نمی شه نگران نباشید!
سیستم کاریه node اینجوریه ! یه برنامه رو باز می کنید و دیگه نمی بندیش . اون برنامه همواره منتظر درخواست میمونه .
شماره پورت تقریبا دلبخواهیه!

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی