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

Mäq*_*Wma 2 javascript node.js cordova electron

我正在使用cordova,并且正在尝试在电子中添加屏幕截图功能。屏幕截图本身效果很好。我正在使用来自电子的桌面捕获器。

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

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

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

您知道 Cordova 是否从电子中删除了这些模块或如何访问这些模块?

也许是电子位置的问题。的输出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"
Run Code Online (Sandbox Code Playgroud)

谢谢!

Seb*_*lor 7

要从app渲染器进程访问,您需要通过remote.

所以而不是:

const {app} = required('electron');
Run Code Online (Sandbox Code Playgroud)

用

const {remote} = required('electron');
const {app} = remote; // or `const app = remote.app`
Run Code Online (Sandbox Code Playgroud)