0

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

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

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

包含此内容时,我在电子的开发人员控制台中收到以下错误:

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

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

4

1 回答 1

1

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

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

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

于 2020-03-06T21:38:09.393 回答