electron-vite-react
electron-vite-react copied to clipboard
Running multiple instances on the background
If we change something on our code the electron will restart, but the previous doesn't get killed, it's running on background.
main.ts
import { app, BrowserWindow } from 'electron'
import path from 'node:path'
import ipcMainHandler from './ipcMainHandler'
// The built directory structure
//
// ├─┬─┬ dist
// │ │ └── index.html
// │ │
// │ ├─┬ dist-electron
// │ │ ├── main.js
// │ │ └── preload.js
// │
process.env.DIST = path.join(__dirname, '../dist')
process.env.VITE_PUBLIC = app.isPackaged ? process.env.DIST : path.join(process.env.DIST, '../public')
let win: BrowserWindow | null
// 🚧 Use ['ENV_NAME'] avoid vite:define plugin - [email protected]
const VITE_DEV_SERVER_URL = process.env['VITE_DEV_SERVER_URL']
function createWindow() {
win = new BrowserWindow({
icon: path.join(process.env.VITE_PUBLIC, 'electron-vite.svg'),
webPreferences: {
preload: path.join(__dirname, 'preload.js'),
},
})
// Test active push message to Renderer-process.
win.webContents.on('did-finish-load', () => {
win?.webContents.send('main-process-message', (new Date).toLocaleString())
})
if (VITE_DEV_SERVER_URL) {
win.loadURL(VITE_DEV_SERVER_URL)
} else {
// win.loadFile('dist/index.html')
win.loadFile(path.join(process.env.DIST, 'index.html'))
}
}
// 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()
win = null
}
})
app.on('activate', () => {
// On OS X 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()
}
})
app.whenReady().then(createWindow)
app.on('ready', () => {
ipcMainHandler()
})
Can you copy the minimum startup demo on Github repo?
There are 6 fixed processes in the template code after I modify and save the code.
Can you copy the minimum startup demo on Github repo?
There are 6 fixed processes in the template code after I modify and save the code.
what you mean by copy startup demo?
yes
Will be fix in here 👉 https://github.com/electron-vite/vite-plugin-electron/pull/122