UNPKG

rerumaccusamus

Version:

The meta-framework suite designed from scratch for frontend-focused modern web development.

63 lines (46 loc) 1.44 kB
--- sidebar_position: 2 --- # exposeInMainWorld :::info 补充信息 * 使用进程:[渲染进程(webview)](/docs/guides/features/electron/basic#渲染进程)。 ```ts import { exposeInMainWorld } from '@modern-js/runtime/electron-webview'; ``` ::: `exposeInMainWorld(apis)` #### 参数 - apis:`{ [key: string]: unknown }`,需要在预加载脚本中注册给渲染进程使用的 `apis`#### 返回值 - `void`。 通过 Electron 官方提供的原生 API: `exposeInMainWorld(key, apis)` 进行注册 `apis`。最终在前端中可以入下方式获得对应服务: ```ts window[key].xxx ``` 在 Modern Electron 中,我们进行了一层简易封装,支持类型提示。我们可以通过如下方式获得 API: ```ts title="xxx/xxx.tsx" import { webviewBridge } from '@modern-js/runtime/electron-bridge'; ... webviewBridge.xxx ``` ## 示例 ```ts title="electron/preload/webview/index.ts" import { exposeInMainWorld, webviewPreloadApis, } from '@modern-js/runtime/electron-webview'; export const apis = { ...webviewPreloadApis, }; exposeInMainWorld(apis); ``` :::info 补充信息 从 `@modern-js/runtime/electron-webview` 引入的 `exposeInMainWorld` 相当于是: ```ts import { exposeInMainWorld } from 'electron'; exposeInMainWorld('webviewBridge', apis); ``` ::: :::info 补充信息 - [关于 `webviewPreloadApis`](/docs/apis/runtime/electron/webview-process/webview-preload-apis)。 :::