我有一个 Electron 示例应用程序可以最小化和最大化应用程序窗口,我想在 React 应用程序中做同样的事情。但是我如何在我的 React 组件中获取对主应用程序窗口的引用?
我的 main.js 程序包含:
const electron = require('electron');
const {BrowserWindow} = electron;
...
function createWindow() {
// Create the browser window.
mainWindow = new BrowserWindow({ width: 500, height: 300,
frame: false, resizable: false });
global.mainWindow = mainWindow;
...
}
在 Electron 示例中,我的 app/index.js 文件包含:
var remote = require('electron').remote;
...
remote.getGlobal("mainWindow").minimize();
在我的 React 示例中,我的 app/app.js 文件包含:
import React from 'react';
import ReactDOM from 'react-dom';
import AppContainer from './containers/app.container'
var remote = require('electron').remote;
但是在运行 watch 时我收到此错误消息:
npm run-script watch
> mydemo@1.0.0 watch /home/myname/nodejs/mydemo
> watchify app/app.js -t babelify -o public/js/bundle.js --debug --verbose
Error: Cannot find module 'electron' from '/home/myname/nodejs/mydemo/app'
我的问题:
- 如何从 React 组件内部引用“远程”?
- 是否有另一种引用主应用程序窗口的方法?
最佳答案
我自己解决了。此代码适用于 React 组件:
var remote = window.require('electron').remote;
remote.getGlobal("mainWindow").minimize();
关于javascript - 如何在 React 组件中调用 minimize() 和 focus()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39063187/