预加载文件(preload)
根据electron官方安全建议我们应该在BrowserWindow对象中配置nodeIntegration:false
并且同时配置preload
预加载文件。利用preload.js
将所有需要预加载的文件提前加载到程序中,如ipcRenderer
、fs
、path
等,然后暴露到window
对象上使用。
//background.js
...
const win = new BrowswerWindow({
...
webPreference: {
nodeIntegration:false,
preload: path.join(__dirname, 'preload.js')
}
})
//preload.js
import {ipcRenderer} from 'electron'
window.IPC_EXPOSE_API = {
ipcRenderer
}
//vue.config.js
module.exports = {
pluginOptions:{
electronBuilder:{
preload:'src/preload.js'
}
}
}