في ES6، يوفر بيان الاستيراد طريقة ملائمة لاستيراد الوحدات النمطية إلى التعليمات البرمجية الخاصة بك. ومع ذلك، ماذا لو كنت بحاجة إلى استيراد وحدة بناءً على اسم متغير في وقت التشغيل؟ قد ينشأ هذا في السيناريوهات التي تقوم فيها بتحميل الوحدات ديناميكيًا بناءً على إعدادات التكوين.
لسوء الحظ، يتم تحليل بيان الاستيراد في ES6 بشكل ثابت. وهذا يعني أن الوحدات التي يتم استيرادها يجب أن تكون معروفة في وقت الترجمة. ومن ثم، لا يمكنك استخدام أسماء المتغيرات لتحديد الوحدات المراد استيرادها.
لتحميل الوحدات ديناميكيًا، تحتاج إلى استخدام Loader API. توفر واجهة برمجة التطبيقات هذه وظيفة تسمى System.import() التي تقبل سلسلة تحدد الوحدة المراد تحميلها. يوضح المثال التالي كيف يمكنك استخدامه لتحميل وحدة بناءً على اسم متغير:
System.import('./utils/' variableName).then(function(module) {
console.log(module);
});
ترجع الدالة System.import() وعدًا يتم حله للوحدة المحملة. يمكنك بعد ذلك الوصول إلى أعضاء الوحدة المصدرة باستخدام كائن الوحدة.
يتم دعم واجهة برمجة تطبيقات Loader في المتصفحات الحديثة وNode.js. ومع ذلك، قد تحتاج إلى استخدام polyfill لتحقيق التوافق مع المتصفحات الأقدم.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3