@univerjs/rpc provides a browser-friendly RPC layer for communicating between the main thread and workers or other message-based runtimes.
| Package | UMD global | CSS | Locales | Facade entry | Worker entry |
|---|---|---|---|---|---|
@univerjs/rpc |
UniverRpc |
No | No | No | Yes |
pnpm add @univerjs/rpc
# or
npm install @univerjs/rpcStart with the integration setup for your document type, including its required plugins, styles, and locale resources. The snippet below assumes that setup is complete.
import { UniverRPCMainThreadPlugin } from '@univerjs/rpc';
const worker = new Worker(new URL('./worker.js', import.meta.url), { type: 'module' });
univer.registerPlugin(UniverRPCMainThreadPlugin, { workerURL: worker });
univer.onDispose(() => worker.terminate());Main-thread plugin classes:
UniverRPCMainThreadPlugin
On the main thread, import UniverRPCMainThreadPlugin from @univerjs/rpc. Set workerURL to the worker URL or instance.
In the worker entry, import UniverRPCWorkerThreadPlugin from @univerjs/rpc/worker:
import { UniverRPCWorkerThreadPlugin } from '@univerjs/rpc/worker';
univer.registerPlugin(UniverRPCWorkerThreadPlugin);