Kontekst JavaScript

JavaScript Kontekst

Warstwa skryptowa zapewnia kontrolowany kontekst oceny JavaScript dla dokumentów, które go potrzebują. Jest ona celowo sterowana polityką: rozwiązywanie modułów jest jawne, a niepowodzenia pojawiają się jako typowane wyjątki.


Kontekst oceny

JSContext hostuje ocenę skryptu. Błędy podniesione podczas oceny pojawiają się jako JSEvaluationError, utrzymując awarie skryptu odrębne od błędów po stronie Python.

Ładowanie modułów

Rozwiązywanie modułów jest kontrolowane przez ModuleRegistry, który mapuje specyfikatory modułów na implementacje. Brakujące moduły podnoszą ModuleNotFoundError (własny typowany błąd biblioteki) zamiast cicho zwracać szkielety.

Polityki ładowania

ModuleLoadPolicy kontroluje, co kontekst może ładować — mechanizm izolacji zachowania skryptu w przetwarzaniu po stronie serwera, gdzie niepożądany jest dowolny dostęp do modułów.


Wskazówki i najlepsze praktyki

  • Rejestruj tylko moduły, które potrzebuje Twój scenariusz przetwarzania; mały rejestr to piaskownica.
  • Łap JSEvaluationError osobno od ogólnych wyjątków, aby odróżnić błędy skryptu od błędów potoku.
  • Traktuj ModuleNotFoundError jako sygnał polityki, a nie warunek krytyczny — często oznacza to, że wejście oczekuje przeglądarki API, której zdecydowałeś się nie dostarczyć.

Typowe problemy

ProblemPrzyczynaNaprawa
ModuleNotFoundError przy ocenieModuł nie jest zarejestrowanyDodaj go do ModuleRegistry lub dostosuj politykę
Błąd skryptu powoduje awarię potokuNie przechwycono JSEvaluationErrorObsłuż to na granicy oceny
Nieoczekiwany dostęp do modułuPolityka zbyt pobłażliwaZacieśnij ModuleLoadPolicy

FAQ

Czy ocena skryptu jest wymagana przy parsowaniu?

Nie — parsowanie, CSSOM i układ działają bez żadnego kontekstu skryptu.

Jak kontrolować, co skrypty mogą importować?

Poprzez ModuleRegistry (co istnieje) i ModuleLoadPolicy (co może się załadować).

Jak pojawiają się błędy skryptów?

Jako JSEvaluationError wyjątki po stronie Python.


Podsumowanie API Reference

Klasa/MetodaOpis
JSContextJavaScript kontekst oceny
ModuleRegistryRejestr określników modułu
ModuleLoadPolicyKontrola polityki ładowania modułu
JSEvaluationErrorBłąd typowanej ewaluacji skryptu
ModuleNotFoundErrorBłąd typowanego brakującego modułu

Zobacz także

 Polski