Web Workers
Docs 可透過 UniverDocsLayoutWorkerPlugin 將文件排版放到 Web Worker1 執行。在 Docs 核心外掛之後註冊它,使用 workerFactory 為排版服務建立新的 Worker。
先完成安裝與基本使用。以下程式碼用來擴充既有設定。請在建立或載入內容之前註冊外掛;已有的外掛註冊應直接修改,不要重複註冊。
主執行緒
TypeScript
import { UniverDocsLayoutWorkerPlugin } from '@univerjs/docs'univer.registerPlugin(UniverDocsLayoutWorkerPlugin, { workerFactory: () => new Worker(new URL('./worker.ts', import.meta.url), { type: 'module' }),})Worker 入口
TypeScript
import { startDocsLayoutWorker } from '@univerjs/docs'startDocsLayoutWorker()使用模組類型的 Worker 與獨立入口檔案。Worker 與主執行緒的套件版本須一致,渲染與使用者互動仍在主執行緒執行。
Footnotes
-
Web Worker 在瀏覽器主執行緒之外執行 JavaScript,透過訊息與主執行緒通訊,無法直接存取頁面 DOM。將計算移入 Worker 不代表將編輯器介面也移入其中。 ↩
你覺得這篇文檔如何?