تقسيم كود جافاسكريبت المتقدم: النهج القائم على المسار مقابل النهج القائم على المكون | MLOG | MLOG

في هذا المثال، يتم تحميل مكون MyComponent بشكل كسول عند عرض MyPage. يضمن هذا أن يتم تحميل كود MyComponent فقط إذا رآه المستخدم أو تفاعل معه بالفعل.

سيناريو مثال: فكر في منصة تعلم إلكتروني عالمية. قد تحتوي صفحة الدورة التدريبية على عناصر تفاعلية مثل الاختبارات أو النماذج ثلاثية الأبعاد. يمكن للتقسيم القائم على المكون تحميل كود هذه العناصر فقط عندما يتفاعل الطالب معها، مما يؤدي إلى تحميل أولي أسرع للصفحة.

Angular

بينما يستخدم Angular بشكل أساسي التحميل الكسول القائم على الوحدات، يمكنك تحقيق تقسيم الكود على مستوى المكون باستخدام الاستيراد الديناميكي داخل مكوناتك.

            
// my.component.ts
import { Component, OnInit } from '@angular/core';

@Component({
  selector: 'app-my',
  templateUrl: './my.component.html',
  styleUrls: ['./my.component.css']
})
export class MyComponent implements OnInit {

  dynamicComponent: any;

  async ngOnInit() {
    this.dynamicComponent = await import('./dynamic/dynamic.component').then(m => m.DynamicComponent);
  }

}

            
            
// my.component.html

  


            

يقوم هذا النهج بتحميل DynamicComponent فقط عند تهيئة MyComponent. يمكن دمج هذا مع التحميل القائم على المسار لتحسين الأداء.

سيناريو مثال: قد يحتوي موقع ويب مصرفي متعدد الجنسيات على نموذج طلب قرض معقد. يمكن للتقسيم القائم على المكون تحميل كود أقسام معينة من النموذج (مثل التحقق من الدخل، سجل التوظيف) فقط عندما يصل المستخدم إلى تلك الأقسام، مما يحسن تجربة المستخدم.

Vue.js

يوفر Vue.js مرونة مماثلة لـ React للتقسيم القائم على المكون باستخدام الاستيراد الديناميكي. يتم ذلك داخل كائن `components` لمكون Vue.

            




            

هنا، سيتم تحميل `AsyncComponent.vue` فقط عند عرض `MyPage`.

سيناريو مثال: يمكن لموقع حجز سفر عالمي تحميل خرائط تفاعلية أو جولات افتراضية للوجهات عند الطلب، فقط عندما ينقر المستخدم على موقع معين. هذا يجعل الموقع أكثر استجابة وسهولة في الاستخدام.

فوائد التقسيم القائم على المكون

عيوب التقسيم القائم على المكون

اختيار النهج الصحيح

يعتمد أفضل نهج لتقسيم الكود على الخصائص المحددة لتطبيقك:

الأدوات والتقنيات

يمكن أن تساعدك العديد من الأدوات والتقنيات في تنفيذ تقسيم الكود بفعالية:

اعتبارات للجماهير العالمية

عند تطوير تطبيقات الويب لجمهور عالمي، من الضروري مراعاة عوامل مثل زمن انتقال الشبكة، وقيود النطاق الترددي، وقدرات الأجهزة في مناطق مختلفة. يمكن أن يلعب تقسيم الكود دورًا حاسمًا في مواجهة هذه التحديات:

أفضل الممارسات

لتحقيق أقصى استفادة من تقسيم الكود، اتبع أفضل الممارسات التالية:

الخاتمة

يعد تقسيم الكود تقنية قوية لتحسين أداء وتجربة مستخدم تطبيقات الويب. من خلال فهم النهج المختلفة (القائم على المسار مقابل القائم على المكون) وتنفيذها بفعالية، يمكنك تقليل وقت التحميل الأولي بشكل كبير، وتحسين أداء وقت التشغيل، وإنشاء تجربة أكثر جاذبية لمستخدميك، بغض النظر عن موقعهم أو أجهزتهم. تبنَّى تقسيم الكود وأطلق العنان للإمكانات الكاملة لتطبيقات جافاسكريبت الخاصة بك في المشهد الرقمي التنافسي اليوم.