הקשר JavaScript
JavaScript הקשר
שכבת הסקריפטים מספקת הקשר הערכה מבוקר של JavaScript עבור מסמכים שזקוקים לכך. היא מודעת בכוונה למדיניות: פתרון מודולים הוא מפורש, והכישלונות מופיעים כחריגות מסווגות.
הקשר הערכה
JSContext מארח הערכת סקריפטים. שגיאות שמועלות במהלך ההערכה מופיעות כJSEvaluationError, מה שמפריד בין כישלונות הסקריפט לשגיאות בצד Python.
טעינת מודול
פתרון מודולים נשלט על ידי ModuleRegistry, שממפה מצייני מודול למימושים. מודולים חסרים מעלים ModuleNotFoundError (שגיאת טיפוס של הספרייה) במקום להחזיר תבניות בשקט.
מדיניות טעינה
ModuleLoadPolicy שולט במה שהקשר מותר לטעון — המנגנון לבידוד התנהגות הסקריפט בעיבוד בצד השרת שבו גישה מודולרית שרירותית אינה רצויה.
טיפים והמלצות מיטביות
- רשום רק את המודולים שהתרחיש העיבודי שלך דורש; רישום קטן הוא ה-sandbox
- תפוס את
JSEvaluationErrorבנפרד משגיאות כלליות כדי להבדיל בין באגים של הסקריפט לבאגים של ה-pipeline - התייחס ל-
ModuleNotFoundErrorכאות מדיניות, ולא כמצב קיצוני — זה לעיתים משמעותו שהקלט מצפה ל-API של דפדפן שבחרת לא לספק
בעיות נפוצות
| בעיה | סיבה | תיקון |
|---|---|---|
ModuleNotFoundError בבדיקה | מודול לא רשום | הוסף אותו ל-ModuleRegistry או התאם מדיניות |
| כשלון הסקריפט גורם לקריסת הצינור | JSEvaluationError לא נתפס | טפל בזה בגבול ההערכה |
| גישה לא צפויה למודול | המדיניות מרשית מדי | הדק ModuleLoadPolicy |
FAQ
האם נדרש הערכת סקריפט לצורך ניתוח?
לא — ניתוח, CSSOM, ועימוד פועלים ללא הקשר סקריפט.
איך אני שולט מה הסקריפטים יכולים לייבא?
דרך ModuleRegistry (מה שקיים) ו-ModuleLoadPolicy (מה שעשוי לטעון).
איך שגיאות סקריפט מתגלות?
כאילו JSEvaluationError חריגות בצד ה-Python.
API Reference סיכום
| מחלקה/מתודה | תיאור |
|---|---|
JSContext | JavaScript הקשר הערכה |
ModuleRegistry | מאגר מצייני מודול |
ModuleLoadPolicy | בקרת מדיניות טעינת מודול |
JSEvaluationError | כשל הערכת סקריפט-טיפוס |
ModuleNotFoundError | כשל מודול חסר-טיפוס |