我正在尝试在Electron中创建一个应用程序,其中的主要代码“ main.js”采用了第一个窗口打开(搜索窗口)的程序流程,当您单击它时,该第一个窗口必须关闭并打开另一个第二个窗口(主窗口)。
我试图强制打开主窗口,然后打开,然后立即关闭。
主要代码:main.js是:
const {app, BrowserWindow, ipcMain} = require('electron')
const searchwindow = require('./searchwindow.js');
const mainwindow = require('./mainwindow.js');
var Device = require('./Device.js');
var stateMachine = async () => {
var deviceString = await searchwindow.open()
global.device = new Device(deviceString)
await mainwindow.open()
app.quit()
}
mainwindow.js是:
const {BrowserWindow, ipcMain} = require('electron')
const url = require('url')
const path = require('path')
exports.open = () => {
var mainWin = new BrowserWindow(windowsConfig)
mainWin.setMenu(null); // disable the default menubar
const startUrl = process.env.ELECTRON_START_URL || url.format({
pathname: path.join(__dirname, 'mainwindow/build/index.html'),
protocol: 'file:',
slashes: true
});
console.log(startUrl)
mainWin.loadURL(startUrl);
return new Promise(((resolve, reject) => {
mainWin.webContents.on('did-finish-load', () => {
mainWin.show();
console.log(mainWin.isVisible())
//Open the DevTools.
mainWin.webContents.openDevTools()
ipcMain.once('exit', (event, arg) => {
mainWin.close()
resolve(arg)
})
mainWin.on('closed', () => {
mainWin = null
})
});
}))
我的怀疑是第二个窗口没有打开,也没有预加载。 如何获得所需的功能?