电子预加载脚本破坏了其他脚本

时间:2018-07-26 18:49:51

标签: javascript node.js electron

我正在尝试将多个模块整合到一个预加载脚本中,以便可以从任何客户端.js文件中的此类(或类似对象)窗口对象访问所需的节点类

window.NodeBridge.user.logout();

我正在将脚本附加到我的BrowswerWindow,并且我已经验证它可以运行

win = new BrowserWindow({
    webPreferences: {
        preload: path.join(__dirname, './common/preload.js')
    }
    ...
}

问题从我尝试将现有的类实例添加到预加载文件开始。目前,这在客户端.js文件中可以正常工作:

// index.js
const electron = require('electron');
const user = electron.remote.getGlobal('user');

当我尝试在预加载脚本中执行相同操作时,

// preload.js
const electron = require('electron');
const user = electron.remote.getGlobal('user'); // This causes the error

电子在我尝试获取全局变量的行上为index.js引发了错误:

  

无法在丢失的远程对象上获取属性“注销”

我正在尝试在客户端文件中不包含require语句,以便更好地将客户端/渲染与主进程隔离。

为什么预加载文件导致其他脚本失败?

0 个答案:

没有答案