راه اندازی سرور Nodejs

هدف از نوشتن این مقاله راه اندازی سرور نود می باشد و اگر سوال یا ابهامی در این خصوص داشتید میتوانید در قسمت نظرات بپرسید.درباره Nodejs به این بسنده میکنم که یک زبان سمت سرور زمان اجراست. و در مقایسه با اکثر زبان های سمت سرور نیاز به منابع سخت افزاری کمتری دارد و به خاطر سبک بودن آن از سرعت بالایی برخوردار است.در ارتباط با موضوع web socket ها نود جی اس کتاب خانه محبوب socket io را داراست. که برای درخواست ها real-time مثل اپلیکیشن های چت استفاده میشود.عکس از سایت پیشرو اپ توضیحات بیشتر درباره نود جی اس را میتوانید از سایت رسمی نود https://nodejs.org/en/about ببینید.برای نصب و راه اندازی Nodejs گام های زیر رو دنبال کنید.لازم میدانم به این نکته اشاره کنم که بنده از vs code (نرم افزار Visual Studio Code) به خاطر سرعت لود بالا و محیط کاربر پسندش استفاده میکنم. شما از هر IDE که با هاش راحتید استفاده کنید.لینک دانلود ویژوال استدیو کد: https://code.visualstudio.com/downloadابتدا نوسخه Recommended For Most User نود جی اس را از سایت https://nodejs.org/en/ دانلود کنید.( نسخه لینوکس و مک و همچنین سیستم های 32 و 64 در قسمت Other Downloads موجود است) هشتک BlackLivesMater رو هم ببینید ;( پس از دانلود، Nodejs را رو سیستم عامل خود نصب کنید. پس از نصب Nodejs، ابزار مدیریت پکیج npm رو نصب میکنیم.(درباره npm: مخزنی برای نگهداری انواع ماژول های open source(متن باز) که در اکثر برنامه های سمت کاربر و سمت سرور کاربرد دارد ، مثل composer در php.) برای نصب npm در محیط ویندوز خواهیم داشت: در قسمت جستجوی ویندوز عبارت cmd رو جستجو کنید. روی command prompt راست کلیک و Run as administrator کلیک کنید.در محیط cmd دستور زیر جهت اطمینان از نصب صحیح Nodejs را وارد و enter کنید. node -vاگر نصب Nodejs بدون مشکل انجام شده باشد نوسخه Nodejs را بر میگرداند. این دستورات در تصویر زیر نشان داده شده است.پس از اطمینان از نصب صحیح Node میتوانیم npm رو نصب کنیم. برای نصب npm دستور زیر را در محیط cmd وراد میکنیم.npm install npm -gپس از نصب npm با دستور زیر میتوانید ورژن package manager خود را که د رمرحله قبل نصب کردیم چک کنید.npm -vدستور اول جهت نصب npm و دستور دوم برای چک کردن نسخه آنتا اینجا محیط نود سرور و ابزار مدیریت پکیج خود را راه اندازی کرده ایم. حالا میتوانیم اولین پروژه Node خود را اصطلاحا initialize کنیم. 1.فولدری به نام virgool در دکستاپ ایجاد میکنیم. 2. با ادیتور (vs code) فولدر رو باز میکنیم . با استفاده از کلید های میانبر ctrl+` یا مسیر terminal/new terminal ترمینال ادیتر را باز میکنیم(تو تصویر گزینه ترمینال با رنگ سفید در بالا تصویر علامت گذاری کردم) علامت بالا ترمینال رو نشون میدهترمینال ادیتور vs code در واقع کار command prompt ویندوز را انجام میدهد. شما میتونید به جای استفاده از ترمینال ادیتور با استفاده از همین دستورات در میحیط cmd ویندوز دستورات رو اجرا کنید. منتهی قبل از اجرای دستورات باید به پوشه پروژه خود( که در اینجا virgool می باشد) cd کنید. توصیه بنده این است که از پنجره ترمینال ادیتور خود به جای cmd استفاده کنید.دستور زیر برای initialize کردن پروژه وارد میکنیم و پس از اینتر کردن به چند تا سوال که ادیتور میپرسد پاسخ میدهیم. لازم به ذکر است که نیازی به وارد کردن همه موارد نیست.npm initپس از زدن دستور npm init اولین سوال راجع به اسم پکیج می باشد، که اختیاری است و هر چه میخواهید میتوانید بنویسید. منتهی از حروف بزرگ مثل چیزی که تو تصویر بالا بنده نوشتم استفاده نکنیدسوالات به ترتیب: 1. package name: اختیاریه و هر چی دوست داری بذار2. version: از اسمش مشخصه، اگر استاندارد خاصی برای نوسخه نرم افزار خود در نظر دارید بنویسید3. description://توضیحات4.entry point: index.js نام فایل اصلی پروژه 5.test command: // فعلا بذار خالی باشه. اگه وقت شد راجع بش صحبت میکنیم6.git repository: // اگه تو گیت هاب مخزنی برا پروژه ایجاد کردی اینجا وارد کن 7.key words: //8. author: // نویسنده اپلیکیشننهایتا خلاصه ای از پاسخ ها را نشان میدهد و اگه مورد تایید است دستور yesرا بزنید.پس از آن در پوشه virgool فایل package.json ایجاد خواهد شد.حال باید entry point رو ایجاد کنیم. گفتیم entry point ما اسمش index.js باشد،به همین منظور فایلی به نام index.js در virgool ایجاد میکنیم و محتویات زیر را ذخیره میکنیم.const http = require('http');const hostname = '127.0.0.1';const port = 3000;const server = http.createServer((req, res) => {res.statusCode = 200;res.setHeader('Content-Type', 'text/plain');res.end('Hello World');});server.listen(port, hostname, () => {console.log(`Server running at http://${hostname}:${port}/`);}); مثل تصویر زیرتوضیحات مختصری راجع به کد: خط اول از پکیج http استفاده کردیم که لازمه بکیج مورد نظر را از مدیریت پکیج npm دریافت و به پرژه اضاف کنیم.دستور زیر را در قسمت ترمینال وارد میکنیم. npm install -save httpاین دستور پکیج http رو از مخزن npm دانلود و به پروژه اضاف میکند. با زدن این دستور پوشه ای به نام node-modules و فایل package-lock.json به پروژه افزوده خواهد شد. در پوشه node-modules پکیچ ها و ماژول هایی که از npm دریافت میکنیم ذخیره میشوند.خط 3 و 4 آدرس هاست و port ی که سرور اجرا می شود تعریف شده است. 6 تا 10 تنظیمات سرور ...12 الی آخر سرور رو پورت مورد نظر که در بالا تعریف کردیم منتظر دستور اجرا سرور است.حال سرور آماده گردیده و میتوانیم دستور استارت سرور را اجرا کنیم. برای اجرای سرور دستور زیر را در ترمینال وار و اینتر میکنیمnode index.jsبا زدن این دستور اگر خطایی رخ نداده باشد باید Server running at http://127.0.0.1:3000 را در ترمنال نمایش دهد.با وارد کردن آدرس http://127.0.0.1:3000/ در مرورگر خود عبارت رایج hello world رو خواهید داشت. امیدوارم مفید بوده باشه. سعی میکنم این آموزش رو ادامه بدم و یک پرژه کوچک شامل1. دیتابیس mysql یا postgres 2. ارتباط سرور با دیتابیس با استفاده Sequelize ORM3. ارتباط سرور با کلاینت با استفاده از graphQl api 4. سرور express و apollo server5. اگه وقت شد ارتباط با ری اکت و اجرای اولین query سمت کاربر با استفاده از apollo clientانتشار نظم خاصی نخواهد داشتاز دوستان دعوت میکنم تو این پروژه همکاری کنند و اگر کسی تمایل به همراهی داشت خوشحال میشم که انتشارتی مخصوص این کار راه اندازی کنیم.لطفا ایرادات فنی و علمی رو یاد آوری کنید تا از دانش و تجربه دوستان بهره ببریم.تشکر از همراهیتون تکیه بر تقوی و دانش در طریقت کافریست - رهرو گر صدهزار دارد توکل بایدش