主题
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()
}