سياق JavaScript

JavaScript السياق

توفر طبقة البرمجة النصية سياق تقييم JavaScript مُتحكم فيه للمستندات التي تحتاج إليه. إنها مُصممة عن قصد لتكون مدفوعة بالسياسة: حل الوحدات صريح، وتظهر الفشل كاستثناءات مُعرفة النوع.


سياق التقييم

JSContext يستضيف تقييم النصوص. الأخطاء التي تُرفع أثناء التقييم تظهر كـ JSEvaluationError، مما يحافظ على تمييز فشل النصوص عن الأخطاء الجانبية لـ Python.

تحميل الوحدة

يُحكم حل الوحدة بواسطة ModuleRegistry، الذي يربط محددات الوحدات بالتطبيقات. الوحدات المفقودة تُثير ModuleNotFoundError (خطأ مكتوب النوع الخاص بالمكتبة) بدلاً من إرجاع نماذج افتراضية بصمت.

سياسات التحميل

ModuleLoadPolicy يتحكم في ما يُسمح للسياق بتحميله — الآلية لعزل سلوك السكريبت في المعالجة على جانب الخادم حيث لا يُرغب في وصول عشوائي إلى الوحدات.


نصائح وأفضل الممارسات

  • سجِّل فقط الوحدات التي يحتاجها سيناريو المعالجة الخاص بك؛ السجل الصغير هو العزل.
  • التقط JSEvaluationError بشكل منفصل عن الاستثناءات العامة للتمييز بين أخطاء السكريبت وأخطاء خط الأنابيب.
  • عامل ModuleNotFoundError كإشارة سياسات، وليس كحالة قاتلة — غالبًا ما يعني أن الإدخال يتوقع API للمتصفح الذي اخترت عدم توفيره.

المشكلات الشائعة

المشكلةالسببالإصلاح
ModuleNotFoundError عند التقييمالوحدة غير مسجلةأضفها إلى ModuleRegistry أو عدّل السياسة
فشل السكريبت يتسبب في تعطل خط الأنابيبJSEvaluationError غير مُلتقطعالجها عند حدود التقييم
وصول غير متوقع إلى الوحدةالسياسة متساهلة جدًاشدد ModuleLoadPolicy

FAQ

هل يُطلب تقييم السكريبت من أجل التحليل؟

لا — التحليل، CSSOM، وتخطيط الصفحات يعملون دون أي سياق للسكريبت.

كيف يمكنني التحكم بما يمكن للسكريبتات استيراده؟

من خلال ModuleRegistry (ما هو موجود) و ModuleLoadPolicy (ما قد يتم تحميله).

كيف تظهر أخطاء السكريبت؟

كاستثناءات JSEvaluationError على جانب Python.


API Reference ملخص

فئة/طريقةوصف
JSContextJavaScript سياق التقييم
ModuleRegistryسجل مُحدِّد الوحدة
ModuleLoadPolicyالتحكم في سياسة تحميل الوحدة
JSEvaluationErrorفشل تقييم البرنامج النصي المكتوب بنوع
ModuleNotFoundErrorفشل الوحدة المفقودة المكتوبة بنوع

انظر أيضاً

 العربية