node.js دقیقا چیه؟ + هر چیزی که برای شروع کار باید بدونید

node.js دقیقا چیه؟ + هر چیزی که برای شروع کار باید بدونید

هر کسی که تا حالا با جاوااسکریپت کار کرده باشه قطعا اسم node js رو شنیده. اما یکی از دردناک ترین بخش های node اینه که “یه نفر نمیاد مثل آدم بگه دقیقا چیه”. اولین جست و جو های شما برای node js به عباراتی مثل v8 engine , event-driven , non blocking I/O و … منجر میشه که کله آدم رو منفجر میکنه. اگر خوش شانس باشید یه نفر پیدا میشه که به شما بگه اونقدر ها هم قضیه پیچیده نیست. برای من این ویدئو بود. امیدوارم من کسی باشم که این نقش رو برای شما بازی میکنه.وقتی یک سایت ایجاد میکنیم با دو نوع کد سر و کار داریم. اول کدی که توی مرورگر اجرا میشه مثل دستکاری DOM و … ، و دوم کدی که توی سرور اجرا میشه مثلا خوندن دیتابیس و فایل ها، پاسخ دادن به ریکوئست ها و…جاوا اسکریپت همونطور که تا حالا فهمیدید میتونه توی مرورگر اجرا بشه ولی نمیتونه توی سرور یا بگیم یه کامپیوتر اجرا بشه. node.js به ما کمک میکنه که جاوا اسکریپت رو توی کامپیوتر اجرا کنیم. ولی بگذارید اول توضیح بدم که کامپیوتر چطور کد هارو میفهمه.کامپیوتر ها فقط زبان ماشین رو میفهمند. از قیافش معلومه که خوندن و نوشتنش خیلی سخته.تا اینکه زبان اسمبلی به وجود اومد. ایده این زبان این بود که به جای اینکه یه مشت حروف بی معنی بنویسیم، یک سری حروف معنی دار بنویسیم و بعد اون رو به زبان ماشین ترجمه کنیم. ولی اسمبلی هنوز هم پیچیده بود. پس بعد ها زبانی مثل ++C ساخته شد که خوندن و نوشتنش خیلی ساده تر بود. و همه کامپیوتر ها هم کد ++C رو میفهمیدند چون به زبان ماشین ترجمه میشد. در واقع مترجم کد ++C به ماشین در کامپیوتر ها وجود داشت.جاوا اسکریپت زبانیه که سعی کرده از ++C هم آسون تر باشه ولی کامپیوتر نمیتونه اون رو بفهمه چون نمیتونه اون رو به زبان ماشین ترجمه کنه. ولی مرورگر میتونه کد جاوا اسکریپت رو بفهمه. چطور؟؟؟چیزی که این رو امکان پذیر میکنه موتوری به نام V8 است که با ++C نوشته شده و کد جاوا اسکریپت رو به زبان ماشین ترجمه میکنه. این موتور توی مرورگر تعبیه شده پس در محیط مرورگر میتونیم کد جاوا اسکریپت رو اجرا کنیم. ولی بیرون مرورگر نه.node.js برنامه ای است که با ++C نوشته شده و موتور V8 رو به کاپیوتر ها میاره. چون با ++C نوشته شده، کامپیوتر اون رو میفهمه. بنابر این میتونیم جاوا اسکریپت رو توی سرور یا کامپیوترمون اجرا کنیمnode.js به غیر از موتور V8، امکانات دیگه ای رو هم به جاوا اسکریپت اضافه میکنه و اگر از node.js استفاده میکنیم میتونیم از این امکانات بهره ببریم. چیز هایی مثل:خواندن و نوشتن فایل های کامپیوترارتباط با دیتابیسعمل کردن به عنوان یک سرورجاوا اسکریپت در اصل برای مرورگر ها و برای پویا کردن سایت ها به وجود اومده و بدون node نمیتونیم از این امکانات استفاده کنیم.البته وقتی جاوا اسکریپت رو بیرون مرورگر اجرا میکنیم یک سری چیز ها رو از دست میدیم. مثل دسترسی به DOM. خب … وقتی با سرور سر و کار داریم اصلا لازم نیست که به DOM دسترسی داشته باشیم:)دیگه نیاز نیست که یه زبان سمت سرور مثل پایتون رو یاد بگیریم.جامعه عظیمی پشت node.js هست.کلی پکیج و ابزار اضافه داریم تا بهمون کمک کنهبرای اینکه از node.js استفاده کنیم اول باید اون رو نصب کنیم.ممکنه روی کامپیوتر تون نصب باشه اما خودتون ندونید. پس اول چک میکنیم:۱ – اگر توی لینوکس هستید ترمینال رو باز کنید و اگر توی ویندوز هستید command prompt رو باز کنید.۲ – تایپ کنید node -v. اگر قبلا نصب شده باشه این دستور باید یک شماره به شما بده :node -v
v12.17.0(این یه نسخه قدیمیه. مال شما جدیدتره.)وگرنه باید نصبش کنید:ویندوز:۱ – برید به :https://nodejs.org/en/download/current/۲ – روی windows install کلیک کنید تا فایلش دانلود بشه و مثل بقیه برنامه ها نصبش کنید. چیز خاصی نداره که توضیح بدم.لینوکسبا دستور زیر میتونید نصبش کنید:curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash –
sudo apt-get install -y nodejsیا اگر اطلاعات بیشتری نیاز دارید:https://github.com/nodesource/distributions/blob/master/README.md#debinstallحالا میتونیم به جاوااسکریپت مثل یک زبان برنامه نویسی سمت سرور مثل پایتون نگاه کنیم. معمولا به پکیج ها و کتابخونه هایی نیاز داریم که کار رو برای ما آسون کنند. برای مدیریت این پکیج ها، نصب و حذف کردن اون ها نیاز به یک پکیج منیجر داریم. npm این نقش رو برای node js ایفا میکنه.npm یا node package manager همراه با node میاد و نیاز نیست جدا نصبش کنیم. مثلا من میخوام از فریمورک express استفاده کنم و یک سرور کوچیک بسازم. پس اول باید express رو نصب کنم.قبل از نصب هر چیزی باید این کار رو انجام بدیم.npm init -yاین دستور یک فایل package.json براتون میسازه که جزییات پکیج هایی که نصب کردید رو نگه میداره. فرض کنید برنامه ای دارید که فقط با express نسخه ۲ کار میکنه و با نسخه های جدید تر ممکنه دچار مشکل بشید. اینجاست که این فایل وارد عمل میشه و میگه حواستون باشه که برای این پروژه از express نسخه۲ استفاده کردید.از طرفی دیگه اگر بخواید پروژه رو برای یکی دیگه ارسال کنید طرف مقابل کافیه این دستور رو بزنه تا همه پکیج هایی که داخل package.json تعریف شده نصب بشه:npm installاین فایل در ابتدا این شکلیه:حالا چطور یک پکیج نصب کنیم؟خیلی ساده:npm install <package name>به جای <package name> اسم پکیج رو بنویسید. مثلا برای نصب expressnpm install expressاگر دوباره به فایل package.json نگاه کنیم میبینیم که پکیج express به لیست پکیج ها اضافه شده.برای حذف کردن پکیج هم میتونید از دستور زیر استفاده کنید:npm remove <package name>جزییات زیادی هستند که میتونید توی اینترنت پیدا کنید. همیشه سخت ترین قدم اولین قدمه. بقیه راه رو خودتون میتونید برید.امیدوارم توی اولین قدم کمکتون کرده باشم.

Author: admin

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *