چگونه از زمینه JavaScript در Python استفاده کنید
لایه اسکریپتنویسی Aspose.HTML FOSS برای Python صریح و مبتنی بر سیاست است: هیچ چیزی در هنگام پارس کردن اجرا نمیشود، و هنگامی که اسکریپتها را ارزیابی میکنید، JSContext آنها را با دسترسی به ماژولها که توسط ModuleRegistry و ModuleLoadPolicy کنترل میشود، اجرا میکند. این راهنما قطعات و مدل شکست را توضیح میدهد، با استفاده از pip برای نصب.
راهنمای گامبهگام
گام ۱: نصب بسته
git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.git
cd Aspose.HTML-FOSS-for-Python
pip install -e .گام ۲: وارد کردن کلاسهای مورد نیاز
from aspose_html.js import JSContext, ModuleRegistry, ModuleLoadPolicyگام ۳: درک مدل ارزیابی
JSContext میزبان ارزیابی است. خطاهای اسکریپت به صورت JSEvaluationError تایپشده در سمت Python ظاهر میشوند، بهطوری که باگهای اسکریپت از باگهای خط لوله متمایز میمانند.
مرحله 4: کنترل دسترسی به ماژول
ModuleRegistry مشخصکنندههای ماژول را به پیادهسازیها نگاشت میکند — رجیستری «sandbox» است. ماژولهای گمشده خطای ModuleNotFoundError تایپشده کتابخانه را ایجاد میکنند؛ ModuleLoadPolicy تعیین میکند که یک زمینه چه چیزی میتواند بهطور کلی بارگذاری کند.
مسائل رایج و راهحلها
ارزیابی ModuleNotFoundError را برمیانگیزد. اسکریپت ماژولی را وارد میکند که شما ثبت نکردهاید — آن را به ModuleRegistry یا خطا را بهعنوان سیگنال سیاست در نظر بگیرید.
یک شکست اسکریپت، خط لوله را متوقف میکند. Catch JSEvaluationError در مرز ارزیابی.
اسکریپتها بیش از آنچه قصد شده به آن دسترسی دارند. Tighten ModuleLoadPolicy و رجیستری را کوچک کنید — رجیستریهای کوچک هدف هستند.
سوالات متداول
آیا اسکریپتها در هنگام تجزیه اجرا میشوند؟
خیر. تجزیه هرگز اسکریپتها را اجرا نمیکند؛ ارزیابی بهوضوح از طریق JSContext انجام میشود.
چگونه رفتار اسکریپت را در محیط ایزوله کنم؟
فقط ماژولهای مورد نیاز را در ModuleRegistry ثبت کنید و بارگذاری را با ModuleLoadPolicy محدود کنید.
خطاهای اسکریپت چگونه در Python ظاهر میشوند؟
بهعنوان استثناهای JSEvaluationError.