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

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;
    })
})

你可能感兴趣的:(electron)