Πώς να χρησιμοποιήσετε το πλαίσιο 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 φιλοξενεί την αξιολόγηση. Οι αποτυχίες του script εμφανίζονται ως το typed JSEvaluationError στην πλευρά του Python, κρατώντας τα σφάλματα του script ξεχωριστά από τα σφάλματα του pipeline.
Βήμα 4: Έλεγχος Πρόσβασης Μονάδας
ModuleRegistry αντιστοιχίζει τους προσδιοριστές μονάδων σε υλοποιήσεις — το μητρώο είναι το sandbox. Τα ελλειπούσες μονάδες προκαλούν το typed ModuleNotFoundError της βιβλιοθήκης· ModuleLoadPolicy καθορίζει τι μπορεί να φορτώσει ένα context γενικά.
Συνηθισμένα Προβλήματα και Λύσεις
Η αξιολόγηση προκαλεί ModuleNotFoundError. Το σενάριο εισάγει μια μονάδα που δεν έχετε καταχωρίσει — προσθέστε το σε ModuleRegistry ή αντιμετωπίστε το σφάλμα ως σήμα πολιτικής.
Μια αποτυχία σεναρίου καταρρέει το pipeline. Catch JSEvaluationError στο όριο της αξιολόγησης.
Τα σενάρια έχουν πρόσβαση σε περισσότερα από ό,τι προορίζεται. Tighten ModuleLoadPolicy και μειώστε το μητρώο — τα μικρά μητρώα είναι ο σκοπός.
Συχνές Ερωτήσεις
Τρέχουν τα σενάρια κατά την ανάλυση;
Όχι. Η ανάλυση δεν εκτελεί ποτέ σενάρια· η αξιολόγηση είναι ρητή μέσω του JSContext.
Πώς μπορώ να απομονώσω τη συμπεριφορά των σεναρίων;
Καταχωρίστε μόνο τα απαραίτητα modules στο ModuleRegistry και περιορίστε τη φόρτωση με το ModuleLoadPolicy.
Πώς εμφανίζονται τα σφάλματα σεναρίου στο Python;
Ως εξαιρέσεις JSEvaluationError.