Python에서 JavaScript 컨텍스트 사용 방법

Python에서 JavaScript 컨텍스트 사용 방법

Aspose.HTML FOSS for Python의 스크립팅 레이어는 명시적이며 정책 중심입니다: 파싱 중에는 아무 것도 실행되지 않으며, 스크립트를 평가할 때 JSContext가 ModuleRegistry와 ModuleLoadPolicy에 의해 제어되는 모듈 접근 권한으로 실행합니다. 이 가이드는 구성 요소와 실패 모델을 설명하며, 설치에는 pip를 사용합니다.

단계별 가이드

Step 1: 패키지 설치

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

Step 2: 필요한 클래스 가져오기

from aspose_html.js import JSContext, ModuleRegistry, ModuleLoadPolicy

Step 3: 평가 모델 이해

JSContext은 평가를 호스트합니다. 스크립트 실패는 Python 측에서 유형화된 JSEvaluationError으로 나타나며, 스크립트 버그와 파이프라인 버그를 구분합니다.


단계 4: 모듈 액세스 제어

ModuleRegistry은 모듈 지정자를 구현에 매핑합니다 — 레지스트리는 샌드박스입니다. 누락된 모듈은 라이브러리의 유형화된 ModuleNotFoundError을 발생시킵니다; ModuleLoadPolicy은(는) 컨텍스트가 로드할 수 있는 범위를 전반적으로 관리합니다.

일반적인 문제와 해결책

평가가 ModuleNotFoundError을 발생시킵니다. 스크립트가 등록하지 않은 모듈을 가져옵니다 — 이를 추가하십시오. ModuleRegistry 또는 오류를 정책 신호로 간주하십시오.

스크립트 실패가 파이프라인을 중단시킵니다. Catch JSEvaluationError 평가 경계에서.

스크립트가 의도된 것보다 더 많이 접근합니다. Tighten ModuleLoadPolicy 그리고 레지스트리를 축소하십시오 — 작은 레지스트리가 핵심입니다.

자주 묻는 질문

파싱 중에 스크립트가 실행됩니까?

아니요. 파싱은 스크립트를 절대 실행하지 않으며, 평가는 JSContext를 통해 명시적으로 이루어집니다.

스크립트 동작을 샌드박스하려면 어떻게 해야 하나요?

ModuleRegistry에 필요한 모듈만 등록하고, ModuleLoadPolicy으로 로딩을 제한하십시오.

스크립트 오류가 Python에 어떻게 표시됩니까?

JSEvaluationError 예외로 표시됩니다.

참조

 한국어