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éma | Ok | Javítás |
|---|---|---|
ModuleNotFoundError értékeléskor | A modul nincs regisztrálva | Add hozzá a ModuleRegistry vagy módosítsd a szabályzatot |
| A szkript hiba összeomláshoz vezet a pipeline-ban | JSEvaluationError nincs elkapva | Kezeld a kiértékelési határon |
| Váratlan modulhozzáférés | Túl engedékeny szabály | Szigorí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ódszer | Leírás |
|---|---|
JSContext | JavaScript kiértékelési kontextus |
ModuleRegistry | Modulazonosító regiszter |
ModuleLoadPolicy | Modulbetöltési szabályzat-vezérlés |
JSEvaluationError | Tipizált szkript-értékelési hiba |
ModuleNotFoundError | Tipizált hiányzó-modul hiba |