نود.جی.اس قهرمان – سازماندهی ساختار پروژه در Node.js

نود.جی.اس قهرمان – سازماندهی ساختار پروژه در Node.js

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

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

فصل های گذشته و آینده:

  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 وجود دارد و هر یک با مزیت ها و معایبی همراه است. با این حال با توجه به تجربه ما، هدف توسعه دهندگان همیشه یکسان بوده است: کد تمیز با امکان اضافه کردن ویژگی های جدید به آن.

در سال های گذشته RisingStack این فرصت را داشته که برنامه های کاربردی در ابعاد مختلف با Node درست کند و توانسته است در این راه باید ها و نباید های ساختار پروژه را به دست آورد.

ما پنج قانون ساده که از آنها در طول توسعه Node.js پیروی می کنیم در زیر لیست کرده ایم:

قانون ۱ – فایل‌ها را بر پایه ویژگی‌ها سازماندهی کنید نه از روی وظیفه

فرض کنید ساختار دایرکتوری زیر را دارید:

مشکل این روش به شرح زیر است:

  • برای درک این که صفحات محصول چطور کار می کنند، شما می بایست سه دایرکتوری مختلف همراه  با تعویض زمینه های بسیار باز کنید.
  • شما را مجبور می کند تا آدرس های طولانی برای import کردن ماژول های خود استفاده کنید
    • require('../../controllers/user.js')

 

به جای این کار، می توانید ساختار برنامه Node.js را بر اساس ویژگی محصول / صفحات / کامپوننت‌ها بنا کنید. این باعث درک ساده تر برنامه می شود:

قانون ۲ – منطق برنامه را در فایل های index.js قرار ندهید

از این فایل ها برای export کردن عملکرد برنامه استفاده کنید:

قانون ۳ – فایل های تست را در کنار اجرا برنامه خود داشته باشید

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

فایل های تست اضافی را در پوشه test قرار دهید تا مانع از سردرگمی شود.

قانون ۴ – استفاده از دایرکتوری config

از یک دایرکتوری config برای فایل های پیکربندی خود استفاده کنید.

قانون ۵ – قرار دادن اسکریپت های طولانی npm در یک دایرکتوری scripts

یک دایرکتوری مجزا برای قرار دادن اسکریپت های طولانی فایل package.json ایجاد کنید

قدم بعدی

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