老規矩,先吐槽,再記錄。
今天被上司教育了將近一個小時。因為之前自動更新的模塊,我認為已經完成了,但是還有一些細節沒有完善好,就一直一直的被教育~
事情全部做完,提交以后關閉issue!
electron中,從package.json的main載入的js文件就是主進程,由主進程load出來的頁面就是渲染進程。
渲染進程可以有多個,主進程只有一個“main.js”。
主進程和渲染進程之間通信,可以使用ipcMain(主進程)和ipcRenderer(渲染進程)來通信,也可以使用remote模塊來通信。
ipc模塊就不介紹了,無非就是一個發送`ipcXX.send(channel, arg)`,然后一個接收`ipcOO.on(channel, function..)`。
可以多次發送和接收,但是ipcXX必須是不同的,才能相互通信,利用channel的信息名稱來識別。
使用remote是今天剛學會的。remote下有幾個子模塊,比如 app模塊。
在主進程中使用`app.XXX = [ 某個實例類A, B, C]`, 由於某些類的實例只能進行一次(比如說默認設置的讀取等操作,多次讀取,就會使文件變得混亂),
那我們在渲染進程中,就可以使用 remote.app.XXX.A來使用在主進程中 實例化的類和方法了。
再多說一個。在主進程中往往要引入一些額外的js文件,在那些額外的js文件中使用main.js中聲明的變量時,由於不是一個js文件,就需要把它global化,這樣就能在其他的“直系“文件中使用了。
all。 thanks。