Web Workers
Docs может выполнять компоновку документа в Web Worker1 через UniverDocsLayoutWorkerPlugin. Зарегистрируйте его после основного плагина Docs. workerFactory создаёт новый Worker для службы компоновки.
Сначала выполните установку и базовую настройку. Эти фрагменты дополняют существующую конфигурацию. Регистрируйте плагины до создания или загрузки содержимого; изменяйте уже имеющуюся регистрацию без дублирования.
Основной поток
import { UniverDocsLayoutWorkerPlugin } from '@univerjs/docs'univer.registerPlugin(UniverDocsLayoutWorkerPlugin, { workerFactory: () => new Worker(new URL('./worker.ts', import.meta.url), { type: 'module' }),})Точка входа Worker
import { startDocsLayoutWorker } from '@univerjs/docs'startDocsLayoutWorker()Используйте модульный Worker и отдельный файл точки входа. Версии пакетов в обоих потоках должны совпадать. Отрисовка и взаимодействие с пользователем остаются в основном потоке.
Footnotes
-
Web Worker выполняет JavaScript вне главного потока браузера и обменивается с ним сообщениями. Прямого доступа к DOM нет: перенос вычислений не переносит интерфейс редактора. ↩
Насколько полезно это руководство?