Come utilizzare il contesto JavaScript in Python

Come utilizzare il contesto JavaScript in Python

Il livello di scripting di Aspose.HTML FOSS per Python è esplicito e guidato dalle policy: nulla viene eseguito durante il parsing e, quando si valutano gli script, JSContext li esegue con l’accesso ai moduli controllato da ModuleRegistry e ModuleLoadPolicy. Questa guida spiega i componenti e il modello di errore, usando pip per l’installazione.

Guida passo-passo

Passo 1: Installa il pacchetto

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

Passo 2: Importa le classi richieste

from aspose_html.js import JSContext, ModuleRegistry, ModuleLoadPolicy

Passo 3: Comprendi il modello di valutazione

JSContext ospita la valutazione. I fallimenti dello script si manifestano come il JSEvaluationError tipizzato sul lato Python, mantenendo i bug dello script distinti dai bug della pipeline.


Passo 4: Controllo dell’accesso al modulo

ModuleRegistry mappa i specificatori dei moduli alle implementazioni — il registro è il sandbox. I moduli mancanti sollevano il ModuleNotFoundError tipizzato della libreria; ModuleLoadPolicy governa ciò che un contesto può caricare in generale.

Problemi comuni e soluzioni

La valutazione solleva ModuleNotFoundError. Lo script importa un modulo che non hai registrato — aggiungilo a ModuleRegistry oppure tratta l’errore come un segnale di policy.

Un errore di script blocca la pipeline. Catch JSEvaluationError al confine della valutazione.

Gli script accedono a più di quanto previsto. Tighten ModuleLoadPolicy e riduci il registro — i registri piccoli sono l’obiettivo.

Domande frequenti

Gli script vengono eseguiti durante il parsing?

No. Il parsing non esegue mai script; la valutazione è esplicita tramite JSContext.

Come mettere in sandbox il comportamento degli script?

Registra solo i moduli necessari in ModuleRegistry e limita il caricamento con ModuleLoadPolicy.

Come si manifestano gli errori degli script in Python?

Come eccezioni JSEvaluationError.

Vedi anche

 Italiano