Electron 创建多个窗口

Electron 创建多个窗口,electron,Electron,我正在使用Github Electron和Angular 1.x构建一个桌面应用程序。我需要首先创建一个登录窗口,一旦登录成功,我想显示/实例化主/实际应用程序窗口 我们如何销毁当前的Electron窗口实例并从AngularJS JavaScript控制器创建一个新的窗口实例?我的第一个建议是不要有多个窗口,而是有多个路由。要在angular 1.x中执行布线,请签出 使用路由,您将使用同一窗口并更改在该窗口内运行的应用程序的状态 但是,您也可以通过简单地创建多个BrowserWindow对象

我正在使用Github Electron和Angular 1.x构建一个桌面应用程序。我需要首先创建一个登录窗口,一旦登录成功,我想显示/实例化主/实际应用程序窗口


我们如何销毁当前的Electron窗口实例并从AngularJS JavaScript控制器创建一个新的窗口实例?

我的第一个建议是不要有多个窗口,而是有多个路由。要在angular 1.x中执行布线,请签出

使用路由,您将使用同一窗口并更改在该窗口内运行的应用程序的状态

但是,您也可以通过简单地创建多个
BrowserWindow
对象或在同一窗口上多次调用
loadURL
来拥有多个窗口

登录完成后,您可以使用模块与主进程通信,以触发所需的行为

// main.js (main process)
const {app, BrowserWindow, ipcMain} = require('electron')

app.on('activate', () => {
  var win = new BrowserWindow()
  win.loadURL(`file://${__dirname}/login.html`)

  ipcMain.on('login-success', () => {
    win.loadURL(`file://${__dirname}/index.html`)
  })

})
然后,在渲染过程中,只需发送
登录成功
消息

// login.js (render process)
var {ipcRenderer} = require('electron')

ipcRenderer.send('login-success') // call this after the user logs in