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

时间:2019-09-30 08:33:26

标签: javascript node.js cordova electron

我正在使用cordova,并且尝试在电子中添加屏幕截图功能。 屏幕截图本身可以正常工作。我正在用电子版的DesktopCapturer。

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

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

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"

谢谢!

1 个答案:

答案 0 :(得分:1)

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

所以不是:

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

使用

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