const { app, BrowserWindow, Menu, ipcMain } = require('electron');//引入electron let win, loadingWin; Menu.setApplicationMenu(null) //去掉菜单栏 app.commandLine.appendSwitch('wm-window-animations-disabled') //拖动闪屏 // 创建loading 窗口 const showLoading = () => { loadingWin = new BrowserWindow({ frame: false, // 无边框(窗口、工具栏等),只包含网页内容 width: 200, height: 200, resizable: false, center: true, alwaysOnTop: true, transparent: true // 窗口是否支持透明,如果想做高级效果最好为true }); loadingWin.loadFile('loading/index.html'); loadingWin.on('close', () => { loadingWin = null }) } // 创建主程序 窗口 const createWindow = () => { win = new BrowserWindow({ maxWidth: 1920, maxHeight: 1080, minWidth: 1620, minHeight: 900, webPreferences: { contextIsolation: false, nodeIntegration: true, webSecurity: false // 去掉跨越 }, show: false });//创建一个窗口 //在窗口内要展示的内容index.html 就是打包生成的index.html win.loadFile(`dist/index.html`); //开启调试工具 // win.webContents.openDevTools(); // 事件监听 win.on('close', () => { //回收BrowserWindow对象 win = null; }); } // 事件监听 app.on('ready', async () => { showLoading(); createWindow(); // 监听渲染进行 ipcMain.once('close-loading', () => { loadingWin.close() win.show() }) }); app.on('window-all-closed', () => { app.quit(); }); app.on('activate', () => { if (win == null) { createWindow(); } });