نود.جی.اس قهرمان – آغاز به کار با Node.js

نود.جی.اس قهرمان – آغاز به کار با Node.js

این اولین پست از سری آموزش های Node است که این سری را به نام Node Hero نامگذاری شده است. در این فصل یاد خواهید گرفت که چطور شروع به استفاده از Node.js کنید و همچنین با استفاده از آن می توانید محصولات نرم افزاری خود را ایجاد و ارائه دهید. ما قصد داریم از ابتدا با اصول اولیه Node آشنا شویم و به هیچ دانش  قبلی نیازی نیست. هدف از این مجموعه آشنایی شما با Node.js است و مطمئن شدن از درک نوشتن برنامه با استفاده از آن است، پس اگر درک موضوعی خاص برای شما واضح نبود آن را بپرسید!

فصل هایی که در آینده ترجمه خواهد شد به شرح زیر است:

  1. شروع کار بار Node.js [در حال خواندن آن هستید]
  2. استفاده از NPM
  3. درک مفهوم برنامه نویسی async 
  4. ساخت اولین سرور Node.js
  5. دسترسی به دادهای درون دیتابیس
  6. برقراری ارتباط با API
  7. سازماندهی ساختاری پروژه
  8. احراز هویت کاربران
  9. تست نرم افزار Node.js
  10. اشکال زدایی Node.js
  11. امنیت برنامه
  12. انتقال برنامه Node.js به Host اشتراکی
  13. نظارت بر روی برنامه Node.js

 

در فصل های ابتدایی یاد خواهید گرفت که در واقع Node.js چیست، چطور نصب کنیم و چگونه راه اندازی کنیم، بطوری که در فصل های بعدی توسعه واقعی را انجام خواهید داد!

آموزش node.js

Node.js یک جاوا اسکریپت زمان اجرا است که بر اساس موتور جاوا اسکریپت V8 گوگل کروم بنا شده است. Node.js از مدل  event-driven و non-blocking I/O استفاده می کند که باعث می شود سبک تر و کارآمدتر باشد.

به عبارتی Node  این امکان را به شما می دهد که با استفاده از JavaScript سرورهایی با عملکرد بالا درست کنید. به گفته سایت رسمی، Node.js جاوا اسکریپت زمان اجرایی است که از همان موتور V8 جاوا اسکریپتی استفاده می کند که می توانید در مرورگر Google Chrome‌ پیدا کنید. اما این به خودی خود برای موفقیت Node کافی نیست. Node.js با بهره گیری از libuv، یک کتابخانه با پشتیبانی از چند پلتفرم با تمرکز  بر روی asynchronous I/O به این مرحله رسیده است.

libuv_logo_in_node_hero_getting_started_tutorial-1458726737329

از نگاه توسعه دهندگان، Node.js تک ریسمانی (single-thread) است. اما در پست صحنه، libuv به ریسمان ها، فایل های سیستمی، پیاده سازی event-loop و  قابلیت ادغام ریسمان ها و غیره رسیدگی می کند. در بیشتر موارد نیازی به ارتباط مسیتقیم به اینها ندارید.

نصب Node.js برای شروع

برای نصب آخرین نسخه node.js به وب سایت رسمی Node.js مراجعه کنید:

https://nodejs.org/en/download/

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

وقتی آن را نصب کردید می توانید به سادگی با استفاده از خط فرمان خود با آن در تعامل باشید:

نصب نسخه های Node.js

آنگاه اگر بخواهید آخرین نسخه آزمایشی آن را داشته باشید:
به منظور شناسی نسخه در حال استفاده Node.js، دستور زیر را اجرا کنید:
اگر مشکلی وجود نداشته باشد، شماره نسخه Node.js فعلی چاپ می شود.

استفاده از نسخه های Node.js

اگر بر روی پروژه ای کار می کنید که از Node.js v4 پشتیبانی می کند، می تواند به راحتی با دستور زیر به نسخه v4 سوییچ کنید:

همچنین می توانید به نسخه 5 با همان دستور مشابه سوییچ کنید:


خوب حالا می دانیم که چطور Node.js را نصب کنیم و به نسخه های مختلف آن دسترسی پیدا کنیم – اما هدف از این کار چیست؟

از آنجایی که پایه و اساس Node.js بر پایه یک طرح متن باز بنا شده است، بسیار شبیه به دیگر پروژه های لینوکس است. به این معنی که دو  نسخه وجود دارد:‌ نسخه پایدار و نسخه آزمایشی. در نسخه پایدار Node.js در دراز مدت پشتیبانی می شود (LTS) که با شماره نسخه های زوج 4 – 6 – 8 و غیره شروع می شود، اما در نسخه های آزمایش با اعداد فرد 5 – 7 و غیره شروع می شود. پیشنهاد می شود که از نسخه LTS در ساخت برنامه های خود استفاده شود و امکانات جدید را در نسخه آزمایش بررسی کنید.

اگر با ویندوز کار می کنید، می توانید از nvm-windows استفاده کنید.

 Hello World در Node.js

برای شروع با Node.js اجازه دهید آن را در ترمینال اجرا کنیم! Node.js را با تایپ دستور node آغاز کنید:

حال بیایید چیزی را در خروجی چاپ کنیم:

وقتی Enter را فشار دهید، خروجی به شکل زیر خواهد بود:

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

برای نصب Node.js از طریق NVM می توانید اینجا را مطالعه کنید.


زمان آن است که برنامه Hello World خود را ایجاد کنیم!

اجازه دهید ابتدا فایل index.js را ایجاد کنیم. ویرایشگر (Atom – Sublime) را باز کنید و فایل جدیدی به نام index.js ایجاد کنید. آنگاه تکه کد زیر را به آن اضافه کنید:

برای اجرای این فایل، می بایست ترمینال خود را باز کنید و به دایرکتوری که فایل index.js در آن است منتقل شوید.

وقتی فایل را در ترمینال خود پیدا کردید، با دستور node index.js آن را اجرا کنید. همانطور که مشاهده می کنید خروجی همان چیزی است که قبلا در اینترفیس است.

ماژولارسازی برنامه

حالا که فایل index.js را دارید، زمان آن است که به مرحله بعدی برویم! بیاید یک چیز پیچیده تر با تقسیم سورس کد به چندین فایل جاوا اسکریت درست کنیم هدف از این کار خوانایی و قابل نگهداری بودن برنامه است. برای شروع، به ویرایشگر خود مراجعه کنید و ساختار دایرکتوری زیر را ایجاد کنید اما برای حالا package.json را ایجاد نکنید چون می خواهیم آن را خودکار ایجاد کنیم:

هر پروژه Node.js با ساخت فایل package.json شروع می شود – می توانید آن را به عنوان یک JSON که وابستگی های برنامه را در خود نگاه می دارد در نظر بگیرید. این فایل شامل نام برنامه، نام نویسنده، و تمام وابستگی های دیگر که برای اجرای برنامه خود به آنها نیاز دارید است. ما قصد داریم بخش وابستگی ها را در فصل استفاده از NPM پوشش دهیم.

شما می توانید با استفاده از خط فرمان خود بصورت تعاملی فایل package.json را با دستور npm init اجرا کنید. پس از فشردن Enter از شما چند سوال مثل نام پروژه، نسخه، توضیحات و غیره پرسیده می شود. نیازی به نگرانی نیست، تنها کافیست Enter را بفشارید تا به is it ok? برسید. برای بار آخر Enter را فشار دهید تا package.json بطور خودکار در دایکتوری پروژه قرار گیرد. اگر آن را با ویرایشگر باز کنید بسیار شبیه به تکه json زیر خواهد بود.

این مثال خوبی است تا اسکریپت start را به package.json اضافه کنید – وقتی بصورت فوق این کار را انجام دهید می توانید برنامه را با دستور npm start اجرا کنید. این بسیار کارآمد است وقتی می خواهیم برنامه را در سرورهای اشتراکی منتقل کنیم – آنها می توانند آن را بصورت خودکار شناسایی کنند و برنامه را اجرا کنند.

حال اجازه دهید به اولین فایلی که ساختید و به index.js نامگذاری کردید رجوع کنیم. پیشنهاد می شود همیشه برنامه را ساده نگاه دارید – تنها برنامه به خود require‌ می کند (به فایل index.js که در زیر دایرکتوری /app درست کردید دسترسی پیدا می کند). اسکریپت زیر را کپی و در فایل index.js قرار دهید و آن را ذخیره کنید:

حال زمان آن فرا رسیده است که یک برنامه واقعی ایجاد کنیم. فایل index.js را از پوشه /app برای ساخت یک مثال بسیار ساده باز کنید – اضافه کردن آرایه ای از اعداد. در این مورد، index.js شامل اعدادی است که می خواهیم اضافه کنیم، و منطقی که عملیات محاسبه را انجام می دهد باید در یک ماژول جداگانه قرار گیرد.

این اسکریپت را در فایل index.js ذخیره کنید:

حال منطق اصلی را به فایل calc.js اضافه کنید:

اگر می خواهید ببینید برنامه شما به درستی کار می کند یا نه، ترمینال خود را باز کنید و npm start یا node index.js را اجرا کنید. اگر همه چیز صحیح پیش رفته باشد، باید جواب 19 را دریافت کنید. اگر مشکلی وجود داشته باشد، خطاهایی که در کنسول وجود دارد را دنبال کنید تا خطا را برطرف کنید.

 

قدم بعدی

در فصل بعدی استفاده از NPM قصد داریم نگاهی به استفاده از NPM بیندازیم، NPM یک مدیریت بسته برای جاوا اسکریپت است.