Comment utiliser le contexte JavaScript dans Python

Comment utiliser le contexte JavaScript dans Python

La couche de script de Aspose.HTML FOSS pour Python est explicite et guidée par des politiques: rien ne s’exécute pendant l’analyse, et lorsque vous évaluez des scripts, JSContext les exécute avec un accès aux modules contrôlé par ModuleRegistry et ModuleLoadPolicy. Ce guide explique les composants et le modèle d’échec, en utilisant pip pour l’installation.

Guide étape par étape

Étape 1: Installer le paquet

git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.git
cd Aspose.HTML-FOSS-for-Python
pip install -e .

Étape 2: Importer les classes requises

from aspose_html.js import JSContext, ModuleRegistry, ModuleLoadPolicy

Étape 3: Comprendre le modèle d’évaluation

JSContext héberge l’évaluation. Les échecs de script apparaissent sous la forme du JSEvaluationError typé du côté Python, gardant les bugs de script distincts des bugs du pipeline.


Étape 4: Contrôle de l’accès aux modules

ModuleRegistry associe les spécificateurs de modules aux implémentations — le registre est le bac à sable. Les modules manquants déclenchent le ModuleNotFoundError typé de la bibliothèque; ModuleLoadPolicy détermine ce qu’un contexte peut charger en tout.

Problèmes courants et correctifs

L’évaluation soulève ModuleNotFoundError. Le script importe un module que vous n’avez pas enregistré — ajoutez-le à ModuleRegistry ou traitez l’erreur comme un signal de politique.

Une défaillance de script fait planter le pipeline. Catch JSEvaluationError à la frontière de l’évaluation.

Les scripts accèdent à plus que prévu. Tighten ModuleLoadPolicy et réduisez le registre — les petits registres sont l’objectif.

Foire aux questions

Les scripts s’exécutent-ils lors de l’analyse?

Non. L’analyse n’exécute jamais de scripts; l’évaluation est explicite via JSContext.

Comment mettre le comportement des scripts en sandbox?

Enregistrez uniquement les modules nécessaires dans ModuleRegistry et restreignez le chargement avec ModuleLoadPolicy.

Comment les erreurs de script apparaissent-elles dans Python?

Sous forme d’exceptions JSEvaluationError.

Voir aussi

 Français