gpt4 book ai didi

node.js - Electron.remote 未定义

转载 作者:搜寻专家 更新时间:2023-10-31 22:30:52 25 4
gpt4 key购买 nike

我在使用 Electron 时遇到了麻烦。正如你看到的标题,当我加载远程模块时,它说它是未定义的。这是入口js的代码:

const electron = require('electron');
const { app, BrowserWindow, Tray, remote, ipcMain } = electron;

function initApp() { ... }

app.on('ready', () => {
initApp();

console.log(electron); // object, but no remote inside
console.log(electron.remote); // undefined
console.log(remote); // undefined
});

我试着在这里关注官方文档:http://electron.atom.io/docs/api/remote/

const { remote } = electron;
const { BrowserWindow } = remote;

let win = new BrowserWindow({width: 800, height: 600}); // error! BrowserWindow is not a constructor blabla

...
remote.getCurrentWindow().focus();

我不知道我错过了什么。任何建议将不胜感激。

最佳答案

2020 年更新,因为这个答案仍然出现在顶部。要在当前版本的 Electron 中使用原始答案,您需要在主进程中创建窗口时设置 enableRemoteModule

const myWindow = new BrowserWindow({
webPreferences: {
enableRemoteModule: true
}
});

原答案:

remote 仅在需要来自渲染进程内部的其他模块时才需要。在主进程中,您只需直接从 require('electron') 获取模块。它看起来像是在示例中完成的,只是不必要地添加了 remote

渲染过程:

const { remote } = require('electron');
const { BrowserWindow } = remote;

主要流程:

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

关于node.js - Electron.remote 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37884130/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com