app和autoUpdater在reactjs中不可用,但在nodejs中可用

我被一个电子问题困住了。 或者反应,我不知道。 我试图创build一个React.Component使用它与electron.autoUpdater。

我在用着

import {app, autoUpdater, dialog} from 'electron'; 

在反应组件中,但这些类别都不可用。 在使用require('electron')(这是正常的,ok)时,它们在nodejs中可用,但在reactjs中不可用。 但其余的组件在那里!

有什么我应该包括或需要知道吗? 在nodejs中,可用的模块是:

 { clipboard: [Getter], crashReporter: [Getter], nativeImage: [Getter], shell: [Getter], app: [Getter], autoUpdater: [Getter], BrowserView: [Getter], BrowserWindow: [Getter], contentTracing: [Getter], dialog: [Getter], globalShortcut: [Getter], ipcMain: [Getter], Menu: [Getter], MenuItem: [Getter], net: [Getter], Notification: [Getter], powerMonitor: [Getter], powerSaveBlocker: [Getter], protocol: [Getter], screen: [Getter], session: [Getter], systemPreferences: [Getter], TouchBar: [Getter], Tray: [Getter], webContents: [Getter] } 

在反应中,可用的组件是:

 clipboard, crashReporter, desktopCapturer, ipcRenderer, nativeImage, remote, screen, shell, webFrame. 

我尝试使用window.require('电子'); 该命令起作用,但这些模块仍然不可用

先谢谢你

我想我发现了这个问题。 这个答案帮助了我: https : //github.com/electron/electron/issues/9920#issuecomment-318986025

这个想法是app,autoUpdater和很多其他的组件在electron.remote上可用我不知道为什么,但关键字“远程”表示你正在使用相同的应用程序,autoUpdater等在主进程。 任何其他解释?

PS:我会让你知道这个解决scheme的工作。

NOTSOLATEREDIT:

这是我的解决scheme,工作顺利。 有没有更好的方法来做到这一点?

 import electron from 'electron'; const app = electron.remote.app; const autoUpdater = electron.remote.autoUpdater; const dialog = electron.remote.dialog;