require('electron').app 是未定义的 - 如何解决这个问题



我正在使用cordova,我正在尝试在电子中添加屏幕截图功能。 屏幕截图本身工作得非常好。我正在使用来自电子的桌面捕获器。

const {desktopCapturer} = required('electron');

所以我知道,我可以从电子访问节点模块,也启用了节点集成。但是,如果我尝试获取应用程序或对话框模块,它会告诉我,这些是未定义的。

const {app, dialog, desktopCapturer} = required('electron');

您知道科尔多瓦是否从电子中移除这些模块或如何访问这些模块吗?

也许是电子位置的问题。require.resolve('electron')的输出APPLOCATION/node_modules/electron/dist/Electron.app/Contents/Resources/electron.asar.rederer/api/exports/electron.js

具有版本的已知软件包:

"cordova-electron": "^1.1.0",
"electron": "^4.0.1"

谢谢!

要从渲染器进程访问app,您需要通过remote获取它。

所以代替:

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

const {remote} = require('electron');
const {app} = remote; // or `const app = remote.app`

最新更新