Electron 上的关闭、最小化和最大化按钮

Close, Minimize and Maximize buttons on Electron

我目前正在使用 electron 1.0,我找不到使用远程模块的方法,我尝试的每一个教程,none 都有效,我只是给我一个错误 "Cannot find module 'remote'".

这是函数所在的 index.js(在我的 html 文件中调用的外部 .js 文件)中的片段:

 (function () {

 var remote = require('remote');
 var BrowserWindow = remote.require('browser-window');

 function init() {
      document.getElementById("min-btn").addEventListener("click", function (e) {
           var window = BrowserWindow.getFocusedWindow();
           window.minimize();
      });

      document.getElementById("max-btn").addEventListener("click", function (e) {
           var window = BrowserWindow.getFocusedWindow();
           window.maximize();
      });

      document.getElementById("close-btn").addEventListener("click", function (e) {
           var window = BrowserWindow.getFocusedWindow();
           window.close();
      });
 };

 document.onreadystatechange = function () {
      if (document.readyState == "complete") {
           init();
      }
 };

})();

这是我的 main.js 文件:

 const electron = require('electron') 
 const app = electron.app
 const BrowserWindow = electron.BrowserWindow

 let mainWindow

 function createWindow () {
    mainWindow = new BrowserWindow({width: 800, height: 600, frame: false,          title:"Gestão Prefeitura", center: true})
   mainWindow.loadURL(`file://${__dirname}/index.html`)
   mainWindow.webContents.openDevTools()
   mainWindow.on('closed', function () {
   mainWindow = null
 })
}

app.on('ready', createWindow)

 app.on('window-all-closed', function () {
 if (process.platform !== 'darwin') { 
 app.quit()
 }
})

app.on('activate', function () {
if (mainWindow === null) {
         createWindow()
      }
    })

在 Electron v1.0.0 中,你需要内置 Electron 模块的方式已经改变,它们现在都通过 electron 模块公开。此外,remote 模块现在具有与主进程模块相对应的属性。所以,而不是:

var remote = require('remote');
var BrowserWindow = remote.require('browser-window');

你应该写:

const { remote } = require('electron');
const { BrowserWindow } = remote;