// electron/electron.jsconst path =require('path');const{ app, BrowserWindow }=require('electron');const isDev = process.env.IS_DEV=="true"?true:false;functioncreateWindow(){// Create the browser window.const mainWindow =newBrowserWindow({
width:800,
height:600,
webPreferences:{//preload: path.join(__dirname, 'preload.js'),
nodeIntegration:true,},});// and load the index.html of the app.// win.loadFile("index.html");
mainWindow.loadURL(
isDev
?'http://localhost:3000':`file://${path.join(__dirname,'../dist/index.html')}`);// Open the DevTools.if(isDev){
mainWindow.webContents.openDevTools();}}// This method will be called when Electron has finished// initialization and is ready to create browser windows.// Some APIs can only be used after this event occurs.
app.whenReady().then(()=>{createWindow()
app.on('activate',function(){// On macOS it's common to re-create a window in the app when the// dock icon is clicked and there are no other windows open.if(BrowserWindow.getAllWindows().length ===0)createWindow()})});// Quit when all windows are closed, except on macOS. There, it's common// for applications and their menu bar to stay active until the user quits// explicitly with Cmd + Q.
app.on('window-all-closed',()=>{if(process.platform !=='darwin'){
app.quit();}});
完成
pnpm run dev //浏览器开发
pnpm run build //electron打包
pnpm run start //electron开发
pnpm run electron:build.exe //win打包