相關連接:
electron-vue 集成 element-ui
在開發 electron
的時候遇到了須要在 render
中修改 BrowserWindow
窗口大小的方式,通過一番嘗試,有兩種方法實現:vue
ipcRenderer
與 ipcMain
的通信來實現render
的 remote
模塊來實現實現原理是 render
進程經過 ipcRenderer
與 ipcMain
進行通信以通知 main
進程操做窗體操做。 element-ui
在 render
引入 ipcRenderer
api
let {ipcRenderer} = require('electron')
發送同步消息給 main
進程electron
ipcRenderer.sendSync('synchronous-message','logined')
在 main
中監聽同步消息,並處理 logined
消息操做post
ipcMain.on('synchronous-message', (event, arg) => { if (arg === 'logined') { mainWindow.resize(1000, 1000) } })
引入 remote
模塊ui
const { remote } = require('electron')
調用 remote
方法中的 getCurrentWindow
獲取當前窗體對象,而後進行修改窗體屬性code
remote.getCurrentWindow().setSize(1000, 1000)
上面實現方式能夠看出 remote
方式實際上是比較簡單和方便的,我我的更傾向於用第二種方式實現此功能。其實在 remote
模塊的底層實現也是經過發佈同步消息的方式來實現與 main
進程通信的,本質上和咱們實現的方式一是同樣的,既然 eletron
已經作了一個很好的封裝,徹底也沒有必要捨近求遠 直接用 remote
方式實現是一個比較優雅的方式。對象