MVC وتقديم الملفات الساكنة و Router Module
MVC وتقديم الملفات الساكنة و Router Module
يستطيع NestJS تقديم أكثر من واجهات JSON. يمكنه عرض قوالب على الخادم، وتقديم ملفات ساكنة عامة، وتنظيم أشجار مسارات معقدة عبر RouterModule. تفيد هذه الميزات للوحات الإدارة وبوابات التوثيق والتطبيقات الكاملة الصغيرة.
الفكرة الأساسية
تدور هذه الميزة حول التحكم في كيفية تنظيم التطبيق وسلوكه وقت التشغيل. النقاط التالية هي ما يجب أن يعرفه المطور قبل استخدامها في مشروع حقيقي:
- يضبط نمط MVC مجلد العروض ومحرك القوالب ثم يعيد قوالب معروضة من المتحكمات.
- تعرض ServeStaticModule أصول الواجهة المبنية أو الملفات العامة دون كتابة متحكمات مخصصة.
- تجمع RouterModule.register() الوحدات تحت بادئات مسارات دون ترميز البادئات في كل متحكم.
- ينبغي تخزين الأصول الساكنة بقوة غالباً، بينما تحتاج الصفحات المعروضة قواعد تخزين خاصة بالتطبيق.
- لواجهات SPA الكبيرة قد تكون CDN أو منصة استضافة واجهة أفضل من تقديم كل الأصول عبر Nest.
مثال عملي
يوضح المثال التالي الشكل العملي للفكرة داخل مشروع NestJS. ليست الغاية حفظ الكود، بل فهم مكانه في المعمارية:
قائمة تطبيق إنتاجية
- افصل متحكمات العرض عن متحكمات API.
- قدّم الأصول ذات البصمة مع أعمار تخزين طويلة.
- استخدم RouterModule لأشجار المسارات الكبيرة والسياقات المحددة.
- انقل الأصول العامة الثقيلة إلى CDN عند نمو الحركة.
الخلاصة
يغطي هذا الدرس جزءاً متقدماً من NestJS يجب فهمه عند بناء تطبيقات مؤسسية. ركّز على الحدود الواضحة، والسلوك القابل للاختبار، واختيار الأداة المناسبة للسياق بدلاً من استخدام كل ميزة في كل مكان.