آموزش نصب NPM و Node.js در ویندوز سرور + معرفی کاربردها
اینکه جاوا اسکریپت از پیشروهای دنیای طراحی سایت است برای همه اثبات شده است ولی وقتی شروع به کار با جاوا اسکریپت می کنید، متوجه می شوید که با جاوا اسکریپت فقط به فرانت اند محدود نیستید بلکه با پلتفرم هایی مثل Node.js در ویندوز، دنیای جدیدی از امکانات را برای شما باز می کند.
با نصب Node.js در ویندوز یک محیط کراس پلتفرم برای اجرای کدهای جاوا اسکریت سمت سرور خود ایجاد می کنید تا بدون نیاز به یادگیری یک زبان دیگر به توسعه فرانت اند و بک اند وبسایت یا اپلیکیشن خود ادامه دهید.
علاوه بر این، با نصب Node.js، مدیر بسته محبوب آن یعنی NPM هم نصب می شود که با این مدیر بسته به تمام پکیج ها و وابستگی های ساخته شده توسط توسعه دهندگان دسترسی دارید. با این دو ابزار دیگر نیازی نیست که چرخه های تکراری توسعه را اجرا کنید و همین باعث ساده شدن پروسه توسعه و برنامه نویسی می شود. پس بیایید نصب Node.js در ویندوز را شروع کنیم:
Node.js چه کار می کند؟
شاید با شنیدن اسم Node.js فکر کنید که این پلتفرم هم یکی از فریمورک هایی مثل React ،Angular ،Vue.js و … است که نقش مکمل جاوا اسکریپت را بازی می کند در حالی که اینطور نیست، Node.js نه زبان برنامه نویسی است نه فریمورک. Node.js یک محیط Runtime است که برای اجرای وب اپلیکیشن ها در خارج از فضای مرورگر وب استفاده می شود.
محیط زمان اجرا یا Runtime، مجموعه ای از API های وب است که توسعه دهنده می تواند از آن برای ایجاد کد و تجزیه آن توسط یک موتور جاوا اسکریپت استفاده کند. این محیط بسیار سبک وزن و ساده است و بر اساس موتور جستجوی V8 JavaScript گوگل کروم ساخته شده است که در کل استفاده از آن باعث بهینه سازی و تسریع برنامه یا پروژه می شود.
البته ویژگی های دیگری هم هستند که باعث شده اند Node.js در پروژه های بزرگی مثل نتفیلیکس، اسلک، توئیتر، لینکدین و … نقش داشته باشد. از مهمترین آنها می توان به موارد زیر اشاره کرد:
آسنکرون – این که وب سرور موقع جواب دهی به یک درخواست، بتواند از عهده هندل کردن درخواست های دیگر هم بربیاید، امتیاز بزرگی است که تحت عنوان اجرای non-blocking شناخته می شود. با مدیریت درخواست ها بدون وابستگی می توان کارایی و توان عملیاتی اپلیکیشن را بالا برد.
تک نخی – Node JS بدون نیاز به ایجاد چند نخ یا رشته به راحتی می تواند از عهده مدیریت همزمان چند کلاینت بربیاید. این ویژگی باعث صرفه جویی در هزینه های تغییر زمینه رشته می شود و از خطاهای ناشی از همگام سازی نادرست نخ ها جلوگیری می کند.
جریان داده – استریم پلی بین ذخیره و پردازش داده به صورت همزمان است. به عنوان مثال، وقتی در حال تماشای یک فیلم از یوتیوب هستید، قبل از تکمیل دانلود، به صورت همزمان با پروسه دانلود می توانید بخش دانلود شده آن فیلم را تماشا کنید و همه اینها به لطف ویژگی Streaming امکان پذیر می شود. Node js با ارائه ماژول Stream به اپلیکیشن ها کمک می کند که در صورت نیاز از جریان داده استفاده کنند و از این طریق، کارایی حافظه و بهره وری زمانی بهبود پیدا کند.
کاربردهای اصلی Node js
اگر کمی وقت بگذارید و سایت های کاریابی آنلاین را بررسی کنید، متوجه می شوید که Node js به جایگاه ویژه ای رسیده است و در زمینه های مختلف مورداستفاده قرار می گیرید. از مهم ترین آنها می توان به موارد زیر اشاره کرد:
اپلیکیشن های چت
معمولاً نود جی اس برای توسعه اپلیکیشن های Real Time استفاده می شود و دلیل اصلی آن، ماهیت آسنکرون، تک رشته ای و رویداد محور این محیط است که باعث می شود به راحتی از عهده مدیریت ورودی/خروجی سنگین بربیاید.
مخصوصاً برنامه های چت که سطح بلادرنگ بودن برای کاربران بسیار مهم است و توسعه دهندگان به کمک کتابخانه Socket.IO به راحتی می توانند امکان ارتباط Real Time، دو طرفه و رویداد محور را فراهم کنند. همچنین، توسعه ویژگی های مثل چت چند نفره هم با نود جی اس راحت تر می شود.
اپلیکیشن های استریمینگ
ویژگی استریم داده در دنیای رسانه تصویری و صوتی اهمیت زیادی دارد که Netflix یکی از برجسته ترین آنهاست. سبک و سریع بودن نود جی اس و بهره مندی از قابلیت non-blocking باعث شده است که خاصیت های real-time و استریمینگ به سادگی در اپلیکیشن برقرار شوند و از این طریق، مدیریت عملیات ورودی و خروجی بسیار آسان و کارآمد شود. همچنین، Node.js با ارائه یک API استریمینگ بومی این امکان را به کاربران می دهد که درخواست های خود را به یکدیگر ارسال کنند و در نتیجه داده ها را مستقیماً به مقصد نهایی خود منتقل کنند.
اینترنت اشیا
اپلیکیشن ها اینترنت اشیا داده های خود را از طریق حسگرها دریافت می کنند و چون هر کدام از این حسگرها داده های مربوط به خود را به بخش اصلی ارسال می کنند، اپلیکیشن باید بتواند از عهده هندل کردن داده های زیاد به صورت همزمان بربیاید چون در غیر اینصورت این داده ها روی هم انباشته می شوند و شاید کاری که باید در سریع ترین زمان ممکن انجام شود، به تعویق بیافتد و کارایی سیستم افت کند. Node.js انتخاب خوبی برای این حوزه است چون می تواند درخواست های همزمان را به سرعت مدیریت کند.
SPA های پیچیده
همانطور که از اسم آن مشخص است، در SPA (single-page application) کل اپلیکیشن در یک صفحه بارگذاری می شود و این به معنای این است که در پس زمینه اپلیکیشن، درخواست های زیادی برای دسترسی به یک بخش خاص فراخوانی می شوند. اینجاست که ویژگی حلقه رویداد نود جی اس به کمک توسعه دهنده می آید چون با این ویژگی ها امکان پردازش درخواست ها به صورت non-blocking فراهم می شود.
اپلیکیشن های مبتنی بر REST API
جاوا اسکریپت هم در فرانت اند و هم در بک اند استفاده می شود پس یک سرور با استفاده از Node.js به راحتی می تواند از طریق API های REST با فرانت اند ارتباط برقرار کند. همچنین، Node.js با ارائه پکیج هایی مثل Express.js و Koa به راحت تر شدن پروسه ساخت وب اپلیکیشن ها کمک می کند.
سیستم های امبدینگ
شاید استفاده از جاوااسکریپت برای برنامه نویسی میکروکنترلرها و نمونه های اولیه اینترنت اشیا دور از انتظار باشد اما امروزه برنامه نویسی سخت افزاری به یکی از کاربردهای اصلی Node.js تبدیل شده است. حتی وجود پورت Node.js به اسم low.js در سیستم هدف باعث شده است که این محیط به راحتی روی بردهای میکروکنترلر ارزان و کم مصرف اجرا شود.
پس تا الان متوجه شدید که قدرت node js برای اپلیکیشن های سنگین با درخواست های زیاد کافی است ولی اگر می خواهید خیالتان از بابت عملکرد و امنیت اپلیکیشن مطمئن باشد، بهتر است به فکر خرید سرور مجازی ویندوز (Windows VPS) قدرتمند برای اپلیکیشن یا وبسایت خود باشید تا هیچ نقطه ضعفی برای سیستم خود جا نگذارید.
NPM چیست؟
NPM هم حکم یک مخزن آنلاین برای پکیج های متن باز Node js را دارد و هم اینکه به عنوان یک ابزار خط فرمان یا همان مدیر بسته برای تعامل با پکیج موردنظر استفاده می شود.
پکیج های Node js در سایت npmjs قابل دسترس هستند که با انتخاب هر کدام از آنها می توانید پروسه نصب، مدیریت نسخه و وابستگی های آن را با استفاده از مدیر بسته انجام دهید.
مثلاً فرض کنید که در حال توسعه برنامه Next Great هستید اما به خاطر یک مسئله، تصمیم گرفتید که از ماژول async استفاده کنید. به لطف npm، همه چیز برای شما راحت تر شده است. تنها کاری که باید انجام دهید این است که دستور زیر را اجرا کنید تا ماژول موردنظر در فولدر node_modules شما نصب شود و بعد با استفاده از ()require در داخل برنامه خود از آن استفاده کنید.
npm install async
البته، بهتر است به این نکته هم اشاره کنیم که موقع اجرای دستور نصب یک پکیج یا ماژول، تمام وابستگی های آن هم نصب می شوند و همه این ها را مدیون مدیر بسته NPM هستیم که مثل Node js کار خود را خوب بلد است.
مراحل نصب Node js در ویندوز سرور
در حالت کلی، دو روش برای نصب Node js در ویندوز سرور وجود دارد که یکی از آنها از طریق وبسایت رسمی نود جی اس و رابط گرافیکی انجام می شود و روش دوم هم برای نصب node js از ابزار NVM استفاده می کند.
در ادامه هر دوی این روش ها را بررسی می کنیم:
روش اول)
1. دانلود فایل نصبی
برای شروع این روش، اول باید به صفحه دانلود Node.js مراجعه کنید و نسخه مناسب سیستم خود را دانلود کنید. روی آیکون Windows Installer کلیک کنید تا فایل موردنظر دانلود شود. البته، اگر سیستم شما 32 بیتی است در بخش پایینی آیکون ها از Windows Installer روی گزینه 32 بیتی کلیک کنید.
2. نصب Node.js
بعد اینکه Node.js را دانلود کردید، روی فایل نصبی دوبار کلیک کنید تا پروسه نصب شروع شود.
3. با کلیک روی Next، پنجره Setup Wizard نود جی اس را ببندید.
4. در صفحه بعدی، یک خلاصه از قرارداد لایسنس ارائه می شود که در صورت موافقت با شرایط، تیک مربوط به I Accept the terms را بزنید و روی Next کلیک کنید.
5. مسیر نصب Node.js در ویندوز را مشخص کنید و Next را بزنید. البته، اگر لوکیشن خاصی را مدنظر ندارید، بهتر است با همان مسیر پیش فرض ادامه دهید.
6. صفحه بعدی مربوط به فایل exe نود جی اس، مدیربسته ها و اضافه شدن مسیر node.js و مدیر بسته به Environment Variables است که اگر استراتژی خاصی ندارید، بهتر است با همان حالت پیش فرض ادامه دهید و روی Next کلیک کنید که تمام این موارد در هارد نصب شوند.
7. تیک مربوط به نصب خودکار ابزارهای ضروری را بزنید و روی Next کلیک کنید.
8. در نهایت روی Install کلیک کنید تا نصب برنامه شروع شود.
9. بعد اینکه پروسه نصب تکمیل شد روی Finish کلیک کنید تا پنجره setup wizared بسته شود.
10. بعد از کلیک روی Finish پنجره خط فرمان باز می شود و برای اینکه بسته ها و ابزارهای موردنیاز نود جی اس نصب شوند، به دلخواه یکی از کلیدها را فشار دهید.
روش 2)
در این روش برای نصب node.js از مدیر بسته NVM استفاده می شود. البته با توجه به اینکه NVM اصلی روی ویندوز کار نمی کند، ما هم از nvm-windows استفاده می کنیم.
1. دانلود nvm-windows از github
به صفحه nvm-windows بروید و با مراجعه به بخش Assets، فایل nvm-setup.exe را دانلود کنید.
2. نصب nvm
فایل دانلود شده را اجرا کنید و مراحل نصب آن را با قبول کردن شرایط و قوانین شروع کنید.
مسیر نصب آن را مشخص کنید و اگر هم مسیر خاصی را در نظر ندارید با همان حالت پیش فرض روی Next کلیک کنید.
بعد مسیر نصب node.js را مشخص کنید. این همان مسیری است که Node.js در آن فعال است. در آخر روی Next کلیک کنید.
در نهایت روی Install کلیک کنید تا نصب nvm در ویندوز شروع شود.
با کلیک روی Finish پروسه نصب nvm را تکمیل کنید.
3. نصب Node.js
برای دسترسی به لیست نسخه های نود جی اس، دستور زیر را وارد کنید.
nvm list available
آخرین نسخه را انتخاب کنید و آن را با استفاده از دستور زیر نصب کنید:
nvm install 18.12.1
بعد اینکه پروسه دانلود و نصب Node.js در ویندوز تکمیل شد. با اجرای دستور زیر Node.js را فعال کنید:
nvm use 18.12.1
بررسی وضعیت نصب Node.js در ویندوز سرور
برای اینکه مطمئن شوید همه چیز درست پیش رفته است و نصب Node js و NPM با موفقیت انجام شده است، دستورات زیر را اجرا کنید:
node –version
npm --version
یک مثال ساده برای تایید نصب:
Node.js یک زبان برنامه نویسی نیست و کدی که در ادامه ارائه می دهیم، به زبان node js نیست بلکه تفسیر این سورس کد توسط Node.js انجام می شود.
برای تست کارکرد درست نود جی اس مراحل زیر را دنبال کنید:
– ویرایشگر متن دلخواه خود را باز کنید و کد زیر را در آن کپی پیست کنید:
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.end('Hello World!');
}).listen(8080);
– فایل را در مسیر دلخواه ذخیره کنید و بعد آن را ببندید.
– PowerShell را باز کنید و دستور زیر را اجرا کنید:
node \users\<your_username>\mytest.js
شاید فکر کنید که با اجرای این دستور اتفاق خاصی نیافتاده است ولی اسکریپت شما در پس زمینه اجرا می شود. ممکن است پنجره اخطار Windows Defender را مشاهده کنید که با کلیک روی Allow آن را رد کنید.
– بعد مرورگر خود را باز کنید و آدرس زیر را وارد کنید:
http://localhost:8080
اگر در گوشه بالا سمت چپ، پیام Hello World را ببینید، نشاندهنده این است که همه چیز خوب پیش رفته است و نصب Node.js در ویندوز با مشکلی روبرو نشده است.
در حال حاضر، هر سیستم دیگری که با پورت 8080 به سرور شما وصل شود، پیام Hello World را خواهد دید.
اگر خواستید برنامه را خاموش کنید، کافیست به PowerShell برگردید و Ctrl+C را فشار دهید و در صورتی که نیاز به اجرای دستور دیگری ندارید، می توانید پنجره را ببندید.
کلام آخر
امروزه Node.js به یکی از مهم ترین نیازهای دنیای برنامه نویسی تبدیل شده است و به عنوان یک محیط runtime استفاده می شود. نصب Node.js در ویندوز سرور از طریق دو روش انجام می شود که یکی از آنها با دانلود فایل نصبی از سایت و روش دیگر هم با مدیر بسته NVM انجام می شود. هر دوی این روش ها بسیار ساده هستند و نیازی به مراحل و وابستگی های پیچیده ندارند.
از اینکه تا انتهای مقاله با ما همراه بودید، از شما متشکریم. امیدواریم که مطالعه این مقاله برای شما مفید واقع شده باشد. در صورت داشتن هرگونه سوال، درخواست و نیاز به راهنمایی، می توانید با ثبت نظر خود، با ما وارد ارتباط شوید تا هر چه زودتر به شما پاسخ دهیم.
سوالات متداول:
نصب node js در ویندوز سرور چگونه انجام می شود؟
در کل دو روش برای نصب node js و مدیر بسته NPM وجود دارد که یکی از آنها با مراجعه به وبسایت NODE js و دانلود فایل نصبی انجام می شود و روش دیگر هم برای نصب این محیط از nvm استفاده می کند.