2017-05-15 32 views
0

以下代碼產生錯誤電子ipcMain未定義

const ipcMain = require('electron').ipcMain; 
ipcMain.on('open-file-dialog', function (event) {}); 

此錯誤是在控制檯拋出:

Uncaught TypeError: Cannot read property 'on' of undefined 

作爲上this問題中提到,我也使用

const ipcMain = require('ipc-main'); 

試圖但是得到相同的錯誤。

似乎ipcRendererelectron包中定義,但不是ipcMain。我該如何解決?已嘗試重新安裝最新的nodejs並在全新結帳時運行npm install

回答

0

問題似乎是我從渲染器進程加載模塊。 將ipcMain相關的代碼移動到主模塊(毫不奇怪)解決了這個問題。

+0

希望能看到你的示例代碼。 – Trees4theForest

+0

沒有什麼有趣的補充,這還沒有被添加到問題中。只需要在主模塊中使用'const ipcMain = require('electron')。ipcMain;'。 – Tom

2

在渲染器過程中,應使用ipcMain的對應部分,即ipcRenderer。見docs of ipcMain代碼示例

你的更正後的代碼看起來像

const { ipcRenderer } = require('electron'); 
ipcRenderer.on('open-file-dialog', function (event) {}); 
相關問題