我正在尝试将多个模块整合到一个预加载脚本中,以便可以从任何客户端.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
语句,以便更好地将客户端/渲染与主进程隔离。
为什么预加载文件导致其他脚本失败?