欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【elctron系列】electron进程之间的通信(二)

程序员文章站 2024-03-15 08:48:05
...

electron进程之间的通信通过ipcMain和ipcRender来实现

//主进程
const {app, BrowserWindow,ipcMain} = require('electron')//nodejs的commonjs进行导入导出

app.on('ready',()=>{
  require('devtron').install();
  let mainWindow = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {       //webpreferces
      nodeIntegration: true
    }
  })
  mainWindow.loadFile('index.html');
  mainWindow.webContents.openDevTools();
  ipcMain.on('message',(event,arg)=>{
    console.log(arg)
    console.log(event)
    event.reply('reply','hello from main process')
  })

})

//渲染进程
const {ipcRenderer} = require('electron')//nodejs的commonjs进行导入导出

window.addEventListener('DOMContentLoaded',()=>{
    document.getElementById('electron-version').innerHTML  = 'ok';
    document.getElementById('send').addEventListener('click',()=>{
        ipcRenderer.send('message','hello from render')
    })
    ipcRenderer.on('reply',(event,args)=>{
        document.getElementById('message').innerHTML = args;
    })
})