42 lines
944 B
JavaScript
42 lines
944 B
JavaScript
const { app, BrowserWindow, ipcMain } = require('electron');
|
|
const { fork } = require('child_process');
|
|
const path = require('path');
|
|
|
|
let win;
|
|
let backend;
|
|
|
|
function startBackend() {
|
|
backend = fork(path.join(__dirname, 'server.js'));
|
|
}
|
|
|
|
function createWindow() {
|
|
win = new BrowserWindow({
|
|
width: 1200,
|
|
height: 800,
|
|
frame: false,
|
|
titleBarStyle: "hidden",
|
|
webPreferences: {
|
|
preload: path.join(__dirname, "preload.js"),
|
|
nodeIntegration: false,
|
|
contextIsolation: true
|
|
}
|
|
});
|
|
|
|
win.setMenu(null);
|
|
win.loadURL('http://localhost:3000');
|
|
}
|
|
|
|
ipcMain.on("win:minimize", () => win.minimize());
|
|
ipcMain.on("win:maximize", () => win.maximize());
|
|
ipcMain.on("win:close", () => win.close());
|
|
|
|
app.whenReady().then(() => {
|
|
startBackend();
|
|
createWindow();
|
|
});
|
|
|
|
app.on('window-all-closed', () => {
|
|
if (backend) backend.kill();
|
|
app.quit();
|
|
});
|