Як використовувати контекст JavaScript у Python
Скриптовий рівень Aspose.HTML FOSS для Python є явним і орієнтованим на політику: під час парсингу нічого не виконується, а коли ви оцінюєте скрипти, JSContext запускає їх з доступом до модулів, контрольованим ModuleRegistry та ModuleLoadPolicy. Цей посібник пояснює складові та модель помилок, використовуючи pip для встановлення.
Покроковий посібник
Крок 1: Встановіть пакет
git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.git
cd Aspose.HTML-FOSS-for-Python
pip install -e .Крок 2: Імпортуйте необхідні класи
from aspose_html.js import JSContext, ModuleRegistry, ModuleLoadPolicyКрок 3: Розберіться в моделі оцінювання
JSContext забезпечує оцінку. Збій скрипту проявляється як типізована JSEvaluationError на стороні Python, зберігаючи помилки скрипту окремо від помилок конвеєра.
Крок 4: Керування доступом до модулів
ModuleRegistry зіставляє специфікатори модулів з реалізаціями — реєстр є пісочницею. Відсутність модулів викликає типізовану ModuleNotFoundError бібліотеки; ModuleLoadPolicy визначає, що контекст може завантажити взагалі.
Типові проблеми та виправлення
Оцінка викликає ModuleNotFoundError. Скрипт імпортує модуль, який ви не зареєстрували — додайте його до ModuleRegistry або розгляньте помилку як сигнал політики.
Помилка скрипту зупиняє конвеєр. Catch JSEvaluationError на межі оцінки.
Скрипти мають доступ до більшого, ніж передбачено. Tighten ModuleLoadPolicy і зменшуйте реєстр — маленькі реєстри є метою.
Часто задавані питання
Чи виконуються скрипти під час розбору?
Ні. Розбір ніколи не виконує скрипти; оцінка є явною через JSContext.
Як ізолювати поведінку скриптів?
Реєструйте лише необхідні модулі в ModuleRegistry і обмежуйте завантаження за допомогою ModuleLoadPolicy.
Як помилки скриптів відображаються у Python?
Як виключення JSEvaluationError.