node.js - 我似乎无法在 Electron 中使用 ipcRenderer

标签 node.js electron ipcrenderer

使用 Electron 8.0.3(但问题在 8.1.0 中也很明显)。在我使用 ipcRenderer 之前,HTML 页面加载正常。这是我在页面中包含的 Javascript 代码:

const {ipcRenderer} = require('electron');

ipcRenderer.sendSync('testSync', 'sync ping');

包含此内容时,我在 Electron 的开发人员控制台中收到以下错误:
electron/js2c/renderer_init.js:1095 Uncaught Error: Unable to deserialize cloned data due to invalid or unsupported version.
    at EventEmitter../lib/renderer/api/ipc-renderer.ts.ipcRenderer.sendSync (electron/js2c/renderer_init.js:1095)
    at login.js:4

有任何想法吗?这是一个新创建的项目。我什至不确定“无效或不受支持的版本”所指的错误是什么。我在 Electron 窗口中也只看到一个白屏,因为错误没有被捕获,但即使我试图捕获它,这个过程仍然会死掉。

最佳答案

问题是 JQuery。通过从 Electron 文档中添加以下代码块,在包含 JQuery 之前,问题得到了解决。

<script>
window.nodeRequire = require;
delete window.require;
delete window.exports;
delete window.module;
</script>

有趣的是,在发布这个问题之前,我花了几个小时寻找解决方案。几分钟后,一个解决方案出现了。这就是开发者的生活!

关于node.js - 我似乎无法在 Electron 中使用 ipcRenderer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60571882/

相关文章:

node.js - 如何在 Mongoose 的数组中使用不同类型的模式?

node.js - 如何在 Kraken JS 中创建全局变量

node.js - Node JS : Electron problem with “electron.asar” file

node.js - 模块版本不匹配。预计49,实际48

javascript - 为什么我的 Jasmine 单元测试不等待 'done' ?

javascript - 使用node js在neo4j中创建 Node 时出现错误

javascript - Electron 中的jQuery集成

reactjs - 诡异的 Action : Electron & React useEffect - Unable to unsubscribe from ipcRenderer events

electron - Electronjs ipcMain不会使用ipcRenderer将消息发送到另一个窗口

javascript - 无法在 IPCRenderer 中传递对象/数组,无法克隆对象 EventEmitter.i.send.i.send