app 和 autoUpdater 在 reactjs 中不可用,但在 nodejs 中可用
app and autoUpdater not available in reactjs, but available in nodejs
我遇到了电子问题。或者反应,我不知道。
我正在尝试创建一个 React.Component 来使用 electron.autoUpdater。
我正在使用
import {app, autoUpdater, dialog} from 'electron';
在 React 组件中,但 none 个 类 可用。当与 require('electron') 一起使用时,它们在 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] }
在 React 中,可用的组件是:
clipboard, crashReporter, desktopCapturer,
ipcRenderer, nativeImage, remote, screen, shell, webFrame.
我尝试使用 window.require('electron');该命令有效,但这些模块仍然不可用
提前致谢
我想我找到了问题所在。
这个答案帮助了我:
https://github.com/electron/electron/issues/9920#issuecomment-318986025
想法是 electron.remote 上提供了应用程序、自动更新程序和许多其他组件
我不知道为什么,但是关键字 "remote" 表示您正在使用与主进程中相同的应用程序、自动更新程序等。
还有其他解释吗?
PS:如果此解决方案有效,我会通知您。
NOTSOLATEREDIT:
这是我的解决方案,运行顺利。有更好的方法吗?
import electron from 'electron';
const app = electron.remote.app;
const autoUpdater = electron.remote.autoUpdater;
const dialog = electron.remote.dialog;
我遇到了电子问题。或者反应,我不知道。 我正在尝试创建一个 React.Component 来使用 electron.autoUpdater。
我正在使用
import {app, autoUpdater, dialog} from 'electron';
在 React 组件中,但 none 个 类 可用。当与 require('electron') 一起使用时,它们在 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] }
在 React 中,可用的组件是:
clipboard, crashReporter, desktopCapturer,
ipcRenderer, nativeImage, remote, screen, shell, webFrame.
我尝试使用 window.require('electron');该命令有效,但这些模块仍然不可用
提前致谢
我想我找到了问题所在。 这个答案帮助了我: https://github.com/electron/electron/issues/9920#issuecomment-318986025
想法是 electron.remote 上提供了应用程序、自动更新程序和许多其他组件 我不知道为什么,但是关键字 "remote" 表示您正在使用与主进程中相同的应用程序、自动更新程序等。 还有其他解释吗?
PS:如果此解决方案有效,我会通知您。
NOTSOLATEREDIT:
这是我的解决方案,运行顺利。有更好的方法吗?
import electron from 'electron';
const app = electron.remote.app;
const autoUpdater = electron.remote.autoUpdater;
const dialog = electron.remote.dialog;