Context JavaScript

JavaScript Context

Stratul de scriptare oferă un context de evaluare JavaScript controlat pentru documentele care au nevoie de unul. Este deliberat ghidat de politică: rezolvarea modulelor este explicită, iar eșecurile apar ca excepții tipizate.


Contextul de evaluare

JSContext găzduiește evaluarea scriptului. Erorile generate în timpul evaluării apar ca JSEvaluationError, menținând eșecurile scriptului distincte de erorile de pe partea Python.

Încărcarea modulelor

Rezolvarea modulelor este guvernată de ModuleRegistry, care mapează specificatorii de module la implementări. Modulele lipsă generează ModuleNotFoundError (eroarea tipizată proprie a bibliotecii) în loc să returneze silențios stub-uri.

Politici de încărcare

ModuleLoadPolicy controlează ce poate încărca un context — mecanismul de izolare a comportamentului scriptului în procesarea pe server, unde accesul arbitrar la module nu este dorit.


Sfaturi și cele mai bune practici

  • Înregistrează doar modulele de care are nevoie scenariul tău de procesare; un registru mic este sandbox-ul.
  • Prinde JSEvaluationError separat de excepțiile generice pentru a distinge erorile scriptului de erorile pipeline-ului.
  • Tratează ModuleNotFoundError ca un semnal de politică, nu ca o condiție fatală — de obicei înseamnă că intrarea așteaptă un API de browser pe care ai ales să nu-l furnizezi.

Probleme comune

ProblemăCauzăRemediere
ModuleNotFoundError în evaluareModul nu este înregistratAdaugă-l la ModuleRegistry sau ajustează politica
Eșecul scriptului blochează pipeline-ulJSEvaluationError nu a fost prinsGestionează-l la limita de evaluare
Acces neașteptat la modulPolitica este prea permisivăÎntărește ModuleLoadPolicy

FAQ

Este necesară evaluarea scriptului pentru parsare?

Nu — parsarea, CSSOM și aranjarea funcționează fără niciun context de script.

Cum controlez ce scripturi pot importa?

Prin ModuleRegistry (ce există) și ModuleLoadPolicy (ce poate fi încărcat).

Cum apar erorile de script?

Ca excepții JSEvaluationError pe partea Python.


API Reference Rezumat

Clasă/MetodăDescriere:
JSContextJavaScript context de evaluare
ModuleRegistryRegistru de specificatori de module
ModuleLoadPolicyControlul politicii de încărcare a modulelor
JSEvaluationErrorEșec de evaluare a scriptului tipizat
ModuleNotFoundErrorEroare de tip pentru modul lipsă

Vezi și:

 Română