预加载文件(preload)

根据electron官方安全建议我们应该在BrowserWindow对象中配置nodeIntegration:false并且同时配置preload预加载文件。利用preload.js将所有需要预加载的文件提前加载到程序中,如ipcRendererfspath等,然后暴露到window对象上使用。

  1. //background.js
  2. ...
  3. const win = new BrowswerWindow({
  4. ...
  5. webPreference: {
  6. nodeIntegration:false,
  7. preload: path.join(__dirname, 'preload.js')
  8. }
  9. })
  10. //preload.js
  11. import {ipcRenderer} from 'electron'
  12. window.IPC_EXPOSE_API = {
  13. ipcRenderer
  14. }
  15. //vue.config.js
  16. module.exports = {
  17. pluginOptions:{
  18. electronBuilder:{
  19. preload:'src/preload.js'
  20. }
  21. }
  22. }