Der erste Vorschlag, den ich machen würde, wäre, nicht mehrere Fenster zu haben, sondern stattdessen mehrere Routen zu haben. Um Routen in eckigen 1.x zu tun, checken Sie die angular-ui-router aus.
Mit Routen würden Sie das gleiche Fenster verwenden und den Status der Anwendung ändern, die innerhalb desselben Fensters ausgeführt wird.
Sie können jedoch auch mehrere Fenster erstellen, indem Sie einfach mehrere BrowserWindow
Objekte erstellen oder indem Sie loadURL
mehrmals im selben Fenster aufrufen.
Sie können nach Abschluss der Anmeldung mit dem Modul ipc zurück zum Hauptprozess kommunizieren, um das gewünschte Verhalten auszulösen.
// 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`)
})
})
Dann in Ihrem Renderprozess senden Sie einfach die login-success
Nachricht zurück.
// login.js (render process)
var {ipcRenderer} = require('electron')
ipcRenderer.send('login-success') // call this after the user logs in