JavaScript környezet

JavaScript Környezet

A szkriptelési réteg szabályozott JavaScript értékelési környezetet biztosít azoknak a dokumentumoknak, amelyeknek szükségük van rá. Szándékosan szabályalapú: a modulfeloldás explicite, és a hibák típusos kivételekként jelennek meg.


Az értékelési környezet

JSContext kezeli a szkriptértékelést. Az értékelés során fellépő hibák JSEvaluationError formájában jelennek meg, így a szkripthibák elkülönülnek a Python-oldali hibáktól.

Modulok betöltése

A modulfeloldást a ModuleRegistry szabályozza, amely a modulspecifikátorokat implementációkra térképezi. A hiányzó modulok ModuleNotFoundError (a könyvtár saját típusos hibája) kivételt dobnak, ahelyett, hogy csendben stubokat adna vissza.

Betöltési szabályok

ModuleLoadPolicy szabályozza, hogy egy kontextus mit tölthet be — a szkript viselkedésének sandboxolásának mechanizmusa a szerveroldali feldolgozásban, ahol a tetszőleges modulhozzáférés nem kívánt.


Tippek és bevált gyakorlatok

  • Regisztrálja csak azokat a modulokat, amelyekre a feldolgozási forgatókönyve szüksége van; egy kis regiszter a sandbox.
  • Kapja el a JSEvaluationError-t külön a generikus kivételektől, hogy megkülönböztesse a szkript hibákat a pipeline hibáktól.
  • Kezelje a ModuleNotFoundError-t politika jelként, nem végzetes állapotként — gyakran azt jelenti, hogy a bemenet egy böngésző API-t vár, amelyet Ön nem kívánt biztosítani.

Gyakori problémák

ProblémaOkJavítás
ModuleNotFoundError értékeléskorA modul nincs regisztrálvaAdd hozzá a ModuleRegistry vagy módosítsd a szabályzatot
A szkript hiba összeomláshoz vezet a pipeline-banJSEvaluationError nincs elkapvaKezeld a kiértékelési határon
Váratlan modulhozzáférésTúl engedékeny szabálySzigorítsd ModuleLoadPolicy

FAQ

Szükséges a szkript kiértékelése a feldolgozáshoz?

Nem — a parsing, a CSSOM és a layout szkriptkörnyezet nélkül működik.

Hogyan szabályozhatom, hogy mely szkriptek importálhatnak?

A ModuleRegistry (ami létezik) és a ModuleLoadPolicy (ami betölthető) segítségével.

Hogyan jelennek meg a szkript hibák?

Mint JSEvaluationError kivételek a Python oldalán.


API Reference összefoglaló

Osztály/MódszerLeírás
JSContextJavaScript kiértékelési kontextus
ModuleRegistryModulazonosító regiszter
ModuleLoadPolicyModulbetöltési szabályzat-vezérlés
JSEvaluationErrorTipizált szkript-értékelési hiba
ModuleNotFoundErrorTipizált hiányzó-modul hiba

Lásd még:

 Magyar