مساحات عمل CLI والمكتبات والاستخدام والسكربتات
مساحات عمل CLI والمكتبات والاستخدام والسكربتات
واجهة Nest CLI أكثر من مولد ملفات. فهي تحدد بنية المشروع ومساحات العمل والمكتبات وأهداف البناء وخيارات المترجم والسكربتات التي تحافظ على اتساق الفرق الكبيرة.
الفكرة الأساسية
تدور هذه الميزة حول التحكم في كيفية تنظيم التطبيق وسلوكه وقت التشغيل. النقاط التالية هي ما يجب أن يعرفه المطور قبل استخدامها في مشروع حقيقي:
- النمط القياسي بسيط لتطبيق واحد؛ أما monorepo فينظم apps وlibs داخل مساحة عمل واحدة.
- تحمل المكتبات وحدات وDTOs وعملاء وأدوات مشتركة بين عدة تطبيقات.
- يتحكم nest-cli.json في جذور المصدر وخيارات المترجم والأصول وخيارات webpack/SWC وبيانات المشروع.
- ينبغي تدوين سكربتات CLI في package.json حتى يشغل المطورون وCI الأوامر نفسها.
- الكود المولد نقطة بداية؛ يجب على الفرق فرض التسمية وحدود الوحدات وقواعد lint.
مثال عملي
يوضح المثال التالي الشكل العملي للفكرة داخل مشروع NestJS. ليست الغاية حفظ الكود، بل فهم مكانه في المعمارية:
قائمة تطبيق إنتاجية
- استخدم المكتبات للعقود المشتركة بدلاً من نسخ DTOs.
- اجعل سكربتات البناء متطابقة محلياً وفي CI.
- أدرج الأصول غير TypeScript مثل مخططات GraphQL أو قوالب البريد في compiler assets.
- راجع الوحدات المولدة قبل الالتزام بها.
الخلاصة
يغطي هذا الدرس جزءاً متقدماً من NestJS يجب فهمه عند بناء تطبيقات مؤسسية. ركّز على الحدود الواضحة، والسلوك القابل للاختبار، واختيار الأداة المناسبة للسياق بدلاً من استخدام كل ميزة في كل مكان.