electron v14+引入remote成功但使用时方法未定义的解决

寒假回校后,我把开发环境从家里电脑的win10切换到了学校的win7,不知道什么原因,本来可以正常运行的remote模块突然出现异常。

console信息:

1
2
3
4
renderer.js:443 Uncaught TypeError: remote.getCurrentWindow is not a function
at applySettings (renderer.js:443:14)
at renderer.js:458:19

重装模块与electron均无解。

查找原因两天之后,

通过翻找remote模块的package.json,我发现main字段默认指向renderer/index.js

遂将渲染进程中的

1
2
var remote_path = path.join(__dirname + '/remote/main');

修改为

1
2
var remote_path = path.join(__dirname + '/remote/renderer');

经检验,运行正常。

在此之前,这错误从未发生过。这个错误的突然出现,其中缘由有待探索。