跳转到主文档

exposeInMainWorld

补充信息
import { exposeInMainWorld } from '@modern-js/runtime/electron-webview';

exposeInMainWorld(apis)

参数

  • apis:{ [key: string]: unknown },需要在预加载脚本中注册给渲染进程使用的 apis

返回值

  • void

通过 Electron 官方提供的原生 API: exposeInMainWorld(key, apis) 进行注册 apis。最终在前端中可以入下方式获得对应服务:

window[key].xxx

在 Modern Electron 中,我们进行了一层简易封装,支持类型提示。我们可以通过如下方式获得 API:

xxx/xxx.tsx
import { webviewBridge } from '@modern-js/runtime/electron-bridge';

...
webviewBridge.xxx

示例

electron/preload/webview/index.ts
import {
exposeInMainWorld,
webviewPreloadApis,
} from '@modern-js/runtime/electron-webview';

export const apis = {
...webviewPreloadApis,
};

exposeInMainWorld(apis);
补充信息

@modern-js/runtime/electron-webview 引入的 exposeInMainWorld 相当于是:

import { exposeInMainWorld } from 'electron';

exposeInMainWorld('webviewBridge', apis);