Skip to content

Preload

definePrelaod

使用预加载脚本。

  • 类型:
ts
function definePrelaod(api: Api, apiKey = 'chronusAPI'): void
ts
interface Api {
    [key: string]: Function | undefined
}
  • 详细信息:

Electron 的主进程是一个拥有着完全操作系统访问权限的 Node.js 环境。您可以访问 Node.js 内置模块 和所有通过 npm 安装的包。出于安全原因,渲染进程默认跑在网页页面上,而并非 Node.js 里。

为了将 Electron 的不同类型的进程桥接在一起,我们需要使用被称为 预加载 的特殊脚本。

  • 示例:

为页面创建预加载脚本:

js
import { definePrelaod } from '../../core/preload.js'

definePrelaod({
    hello: () => {
        alert('hello')
    }
})

在渲染进程中使用:

js
window.chronusAPI.hello()

有返回值的脚本函数

有时我们会希望获取一些数据,可以使用下面的方法:

  • preload.js
js
import { definePrelaod } from '../../core/preload.js'

definePrelaod({
    appGetVersion: () => {
        return ipcRenderer.invoke('app/getVersion')
    }
})
  • App.vue
js
async function appGetVersion() {
    await window.chronusAPI.appGetVersion()
}

最后更新:

开发文档