Contexto de JavaScript

JavaScript Contexto

La capa de scripting proporciona un contexto de evaluación controlado JavaScript para los documentos que lo necesiten. Está deliberadamente guiada por políticas: la resolución de módulos es explícita, y los fallos aparecen como excepciones tipadas.


El contexto de evaluación

JSContext aloja la evaluación de scripts. Los errores generados durante la evaluación aparecen como JSEvaluationError, manteniendo los fallos de script distintos de los errores del lado Python.

Carga de módulos

La resolución de módulos está gobernada por ModuleRegistry, que asigna los especificadores de módulos a implementaciones. Los módulos faltantes generan ModuleNotFoundError (el error tipado propio de la biblioteca) en lugar de devolver silenciosamente stubs.

Políticas de carga

ModuleLoadPolicy controla lo que un contexto puede cargar — el mecanismo para aislar el comportamiento de scripts en el procesamiento del lado del servidor donde no se desea el acceso arbitrario a módulos.


Consejos y Mejores Prácticas

  • Registre solo los módulos que su escenario de procesamiento necesite; un registro pequeño es el sandbox
  • Capture JSEvaluationError por separado de las excepciones genéricas para distinguir errores de script de errores de la canalización
  • Trate ModuleNotFoundError como una señal de política, no como una condición fatal — a menudo significa que la entrada espera un API de navegador que ha decidido no proporcionar

Problemas Comunes

ProblemaCausaCorrección
ModuleNotFoundError en la evaluaciónMódulo no registradoAñádelo a ModuleRegistry o ajusta la política
El fallo del script bloquea la canalizaciónJSEvaluationError no capturadoManejarlo en el límite de evaluación
Acceso inesperado al móduloPolítica demasiado permisivaAjustar ModuleLoadPolicy

FAQ

¿Se requiere la evaluación de scripts para el análisis?

No — el análisis, CSSOM y el diseño funcionan sin ningún contexto de script.

¿Cómo controlo qué scripts pueden importar?

A través de ModuleRegistry (lo que existe) y ModuleLoadPolicy (lo que puede cargarse).

¿Cómo aparecen los errores de script?

Como excepciones JSEvaluationError en el lado Python.


API Reference Resumen

Clase/MétodoDescripción
JSContextJavaScript contexto de evaluación
ModuleRegistryRegistro de Especificador de Módulo
ModuleLoadPolicyControl de Política de Carga de Módulos
JSEvaluationErrorFallo de Evaluación de Script Tipado
ModuleNotFoundErrorFallo de Módulo Faltante Tipado

Ver también

 Español