Ngữ cảnh JavaScript

JavaScript Ngữ cảnh

Lớp kịch bản cung cấp một ngữ cảnh đánh giá JavaScript có kiểm soát cho các tài liệu cần nó. Nó được thiết kế cố ý dựa trên chính sách: việc phân giải mô-đun là rõ ràng, và các lỗi sẽ xuất hiện dưới dạng các ngoại lệ đã được định kiểu.


Ngữ cảnh Đánh giá

JSContext chịu trách nhiệm thực thi script. Các lỗi phát sinh trong quá trình đánh giá sẽ xuất hiện dưới dạng JSEvaluationError, giữ cho các lỗi script tách biệt khỏi các lỗi phía Python.

Tải mô-đun

Việc phân giải mô-đun được điều khiển bởi ModuleRegistry, nó ánh xạ các chỉ định mô-đun tới các triển khai. Các mô-đun bị thiếu sẽ ném ModuleNotFoundError (lỗi đã được định kiểu riêng của thư viện) thay vì im lặng trả về các stub.

Chính sách Tải

ModuleLoadPolicy kiểm soát những gì một ngữ cảnh được phép tải — cơ chế cô lập hành vi script trong xử lý phía máy chủ khi việc truy cập mô-đun tùy ý không mong muốn.


Mẹo và Thực hành tốt nhất

  • Chỉ đăng ký các mô-đun mà kịch bản xử lý của bạn cần; một danh sách đăng ký nhỏ là sandbox
  • Bắt JSEvaluationError riêng biệt so với các ngoại lệ chung để phân biệt lỗi script với lỗi pipeline
  • Xem ModuleNotFoundError như một tín hiệu chính sách, không phải là một điều kiện nghiêm trọng — nó thường có nghĩa là đầu vào mong đợi một API của trình duyệt mà bạn đã chọn không cung cấp

Các vấn đề thường gặp

Vấn đềNguyên nhânKhắc phục
ModuleNotFoundError trong quá trình đánh giáMô-đun chưa được đăng kýThêm nó vào ModuleRegistry hoặc điều chỉnh chính sách
Lỗi script làm sập pipelineJSEvaluationError không được bắtXử lý nó tại ranh giới đánh giá
Truy cập mô-đun không mong đợiChính sách quá khoan dungThắt chặt ModuleLoadPolicy

FAQ

Có cần đánh giá script để phân tích không?

Không — việc phân tích, CSSOM và bố cục hoạt động mà không cần bất kỳ ngữ cảnh script nào.

Làm sao tôi có thể kiểm soát các script có thể nhập gì?

Thông qua ModuleRegistry (cái gì tồn tại) và ModuleLoadPolicy (cái gì có thể tải).

Làm sao lỗi script xuất hiện?

Dưới dạng các ngoại lệ JSEvaluationError ở phía Python.


API Reference Tóm tắt

Lớp/Phương thứcMô tả
JSContextJavaScript ngữ cảnh đánh giá
ModuleRegistryĐăng ký định danh mô-đun
ModuleLoadPolicyKiểm soát chính sách tải mô-đun
JSEvaluationErrorLỗi đánh giá script có kiểu
ModuleNotFoundErrorLỗi thiếu mô-đun có kiểu

Xem thêm

 Tiếng Việt