مدت زمان تقریبی مطالعه: 10 دقیقه

Node.js و 3 اشتباه رایج در هنگام راه اندازی آن

Node.js به عنوان یکی از محیط‌های هایی است که به برنامه نویسان اجازه می‌دهد کدهای جاوا اسکریپت خود را سمت سرور اجرا کنند. در مقاله پیشین نادین سافت در مورد نود جی اس (node js) و هر آنچه بهتر است از آن بدانید به طور کامل توضیح دادیم.

در این مقاله از وبلاگ نادین سافت درباره Node.js و 3 اشتباه رایج در هنگام راه اندازی آن اطلاعات جامعی را برای شما عزیزان ارائه داده ایم. اگر علاقه مند هستید که اطلاعات مفیدی در مورد Node.js و 4 اشتباه رایج در هنگام راه اندازی آن بدتی آورید توصیه می کنیم این مقاله را تا انتها مطالعه کنید.

about-nodejs
About Node.js

Node.js و 4 اشتباه رایج در هنگام راه اندازی آن که لازم است بدانید

اگر شما در حال راه اندازی نود جی‌اس هستید باید در مورد اشتباهاتی رایجی که ممکن است در این مسیر برایتان اتفاق بیفتد اطلاعات لازم را داشته باشید. در این مقاله به بررسی این اشتباهات رایج می پردازیم.

1- شروع Node.js بدون Express
همانطور که می دانید express.js یک فریمورک سریع، بی درد سر و مینیمال برای Node.js است . توصیه می کنیم که به طور مستقیم با Express Framework شروع کنید. در واقع ما هیچ ایده ای در مورد راه اندازی نود جی‌اس بدون express نداریم.

بنابراین خوب است که نود جی‌اس را چند ساعت یاد بگیرید و سپس با express شروع کنید. این در واقع مانند دانستن Angular/React و ندانستن DOM است. پس nodeJs را حتما” یاد بگیرید.

2- nodeJs + Typescript = nodeTs
شما به تازگی nodejs را شروع کرده اید همه چیز به خوبی پیش می رود و چند مسیر و کنترلر برایتان وجود دارد. ناگهان 15 مسیر، 15 کنترلر، 5 ابزار کاربردی و میان افزار دارید.

همیشه از انواع ابزارها استفاده کنید. نکته مهمی که باید به آن توجه کنید این است، زمانی که فایل‌های گوناگونی وجود دارند زمان شما به عنوان توسعه‌دهنده تا میزان قابل توجهی کاهش می‌یابد.

این Blog را از @Aryclenio Barros برای راه اندازی Typescript بررسی کنید. همچنین می توانید پایگاه کد موجود خود را به typecscript تبدیل کنید.

3- انتقال مستقیم res و req به کنترلرها
این یک اشتباه نیست بلکه یک ترجیح است تا کد شما را خوانا کند. نمایش نمونه کد با استفاده از Express Framework.

فایل route.js شما

route.js file
route.js file

فایل controller.js شما

controller.js file
controller.js file

به جای بازگرداندن یک پاسخ در داخل کنترلر. اجازه دهید به شما بگوییم مسیر و کنترلر از دیدگاه ما چیست. یک مسیر برای ما تمام موارد مرتبط با مسیر مانند پارامترهای پرس و جو، request.body و پاسخ ها را مدیریت می کند.

بنابراین route.js اصلاح شده شما

route.js file
route.js file

یک کنترل کننده برای ما فقط عملیات مربوط به پایگاه داده را انجام می دهد و فقط نتایج را برمی گرداند.

controller.js اصلاح شده شما

controller.j file
controller.j file

این ترجیحی است که کار شما را با تفکیک عملیات مسیر و عملیات db آسان تر می کند. توصیه می کنیم برای کسب اطلاعات بیشتر AngularEnthusiast را مطالعه کنید.

مهمترین ویژگی Node.js

بعد از مطالعه موارد بالا حالا زمان آن رسیده است که در مورد مهم‌ترین ویژگی نود جی‌اس صحبت کنیم. در واقع می خواهیم به این سوال پاسخ دهیم که چه عاملی باعث شده تا بسیاری از برنامه‌نویسان به دنبال استفاده از نود جی‌اس باشند. نکته مهمی که باید به آن توجه کنید این است که Node.js مزیتی را در اختیار شما قرار می‌دهد که بسیار اثر گذار و با ارزش خواهد بود.

چرا باید از Node.js استفاده کنیم؟

به طور کلی هرگونه ارتباطی که شما با سرور ایجاد می‌کنید در زبان‌های برنامه‌نویسی سمت سرور یک Thread (یک موضوع یا یک بحث جدید) می‌کند. این Thread زمانی بسته می‌شود که به درخواست شما پاسخ داده شده باشد.

حالا فرض کنید که شما می خواهید وارد یک وب‌سایت پرطرفدار شوید که بازدیدکنندگان بسیار زیادی دارد. آنچه مسلم است این است که همه افراد در این وب‌سایت در حال جستجو کردن یا مشاهده مطالب مختلف هستند. بنابراین در این حالت Thread های بسیار زیادی ایجاد می‌شود.

شما نیاز دارید که سرورهای موجود را افزایش دهید و این خود یک هزینه اضافی است. مشکل اصلی در اینجا حجم بالای اطلاعات ورودی و خروجی است. این حالت یک مثال معمولی بود از زمانی که شما Node.js را استفاده نکرده اید. حالا می‌خواهیم استفاده از Node.js را در این مواقع بررسی کنیم.

Node.js از عملیات ورودی-خروجی یا I/O به‌صورت رویداد محور استفاده می‌کند و دارای ویژگی non blocking است، اصطلاحا به این روش non blocking I/O می‌گویند.

در این روش هر اتصالی که شما به عنوان کاربر با سرور ایجاد می‌کنید به‌صورت یک رویداد تعریف می‌شود نه یک Thread. بنابراین با ایجاد حالت رویداد محور شما برای رسیدن به نتیجه‌ای که مخاطبتان به دنبال آن است دیگر نیازی نیست که منتظر عملیات ورودی-خروجی باشید. به طور کلی میتوان گفت که در Node.js تنها رویدادها هستند که سبب دریافت نتیجه می‌شوند.

ماژول‎‌ها و امکانات Node.js

در Node.js ماژول ها به عنوان مجموعه‌ای از توابع و شی‌ های جاوا اسکریپت هستند که می‌توانند توسط برنامه‌های خارجی مورد استفاده قرار بگیرد.

بنابراین میتوان گفت که به طور کلی هرگونه فایل Node.js و یا مجموعه‌ای از فایل‌ها که توابع و داده‌های آنها برای برنامه‌های خارجی قابل استفاده باشند می‌توانند به عنوان یک ماژول در نظر گرفته شوند.

برای کسب اطلاعات بیشتر در مورد ماژول های نود جی‌اس توصیه می کنیم این مطلب را مطالعه کنید:

https://roocket.ir/articles/how-to-create-a-node-js-module

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

همچنین برای شما این امکان را فراهم می‌کنند که برنامه‌هایی را که با پیچیدگی همراه هستند پیوست کرده و راه را برای اشتراک گذاشتن کد توسط شما با دیگر توسعه دهندگان هموار می‌کنند.

حالا این سوال پیش می آید که آیا توانایی نوشتن ماژول‌هایی که توابع مفید را صادر می‌کنند به شما امکان کمک به جامعه گسترده NodeJs را می دهد؟

تمام پکیج‌هایی که شما در npm مورد استفاده قرار می دهید در واقع به عنوان ماژول به اشتراک گذاشته می‌شوند. پس میتوان گفت که ایجاد یک ماژول یک مهارت اصلی برای یک توسعه دهنده Node.js است.

4 گام برای ایجاد یک ماژول Node.js

پیش نیازها

1- ابتدا شما باید Node.js و npm را روی محیط توسعه خود نصب کنید. در این آموزش ما از نسخه 10.17.0 استفاده کردیم.

2- برای نصب آن بر روی macOS یا Ubuntu 18.04 مراحل نحوه نصب Node.js و ایجاد محیط توسعه محلی در macOS یا بخش نصب با استفاده از یک PPA نحوه نصب Node.js در Ubuntu 18.04 را دنبال کنید.

با نصب Node.js شما npm را نیز نصب خواهید کرد.
3- همچنین باید با فایل package.json آشنا باشید و تجربه کار با دستورات npm نیز برای شما مفید خواهد بود. برای به دست آوردن این تجربه نحوه استفاده از ماژول های Node.js را با npm و package.json دنبال کنید، به ویژه مرحله ایجاد فایل package.json.
4- همچنین به راحتی می توانید از Node.js REPL (Read-Evaluate-Print-Loop) کمک بگیرید. شما از آن برای تست ماژول خود استفاده خواهید کرد. اگر به اطلاعات بیشتری در این مورد نیاز دارید این راهنما را در مورد نحوه استفاده از Node.js REPL بخوانید.

ایجاد ماژول در Node.js

حالا شما آماده هستید برای ایجاد اولین ماژول NodeJs. ماژول شما در واقع شامل مجموعه‌ای از رنگ‌ها در یک آرایه خواهد بود و تابعی را برای به دست آوردن یک مورد تصادفی برایتان فراهم می‌کند. شما باید از ویژگی NodeJs داخلی برای exports استفاده کنید تا بتوانید تابع و آرایه خود را در دسترس برنامه‌های خارجی قرار دهید.

مطلب مرتبط: JavaScript (جاوا اسکریپت) و 7 گام شروع برنامه نویسی با آن

جمع بندی

Node.js یک محیط اجرای متن باز محبوب است که می تواند جاوا اسکریپت را خارج از مرورگر اجرا کند. Node Runtime معمولاً برای توسعه وب بک‌اند استفاده می‌شود و از قابلیت‌های آن برای ایجاد برنامه‌های شبکه و سرورهای وب استفاده می‌کنند.

Node همچنین یک انتخاب محبوب برای ساخت ابزارهای خط فرمان است. اگر می خواهید تمرین‌هایی را برای یادگیری اصول کدنویسی در Node.js انجام دهید و ابزارهای قدرتمندی را برای توسعه back-end و full stack در این فرآیند به دست آورید پیشنهاد ما به شما عزیزان این است که از لینک های آموزشی زیر حتما استفاده کنید.

How To Use the Node.js REPL

How To Write and Run Your First Program in Node.js

How To Use Node.js Modules with npm and package.json

منابع

https://medium.com/@shriharimohan/%EF%B8%8F-mistakes-i-made-when-i-started-nodejs-mongodb-350e73c24b3a

https://nodejs.org/en

مقالات پیشنهادی