最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Electron ipcMain undefined - Stack Overflow

programmeradmin1浏览0评论

The following code produces an error

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

This error is thrown in console:

Uncaught TypeError: Cannot read property 'on' of undefined

As mentioned on this question, i also tried using

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

but am getting the same error.

Seems that ipcRenderer is defined in the electron package, but not ipcMain. How do i fix this? Already tried reinstalling the latest nodejs and running npm install on a fresh checkout.

The following code produces an error

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

This error is thrown in console:

Uncaught TypeError: Cannot read property 'on' of undefined

As mentioned on this question, i also tried using

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

but am getting the same error.

Seems that ipcRenderer is defined in the electron package, but not ipcMain. How do i fix this? Already tried reinstalling the latest nodejs and running npm install on a fresh checkout.

Share Improve this question edited May 23, 2017 at 12:10 CommunityBot 11 silver badge asked May 15, 2017 at 6:57 TomTom 2,6311 gold badge18 silver badges17 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 4

In Renderer process you should use the counterpart of ipcMain, which is ipcRenderer. See docs of ipcMain for code examples

Your corrected code would look like

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

Problem seems to be that I loaded the module from a renderer process. Moving the ipcMain related code to the main module (unsurprisingly) solved the issue.

发布评论

评论列表(0)

  1. 暂无评论