Rememberit / electron /main.js
ausername-12345
Add Electron app setup with icon
9c9d2a8
Raw
History Blame Contribute Delete
1.01 kB
import { app, BrowserWindow } from "electron";
import { fork } from "child_process";
import path from "path";
import { fileURLToPath } from "url";
const __dirname = path.dirname(fileURLToPath(import.meta.url));
const ROOT = path.join(__dirname, "..");
let serverProcess;
function createWindow() {
const win = new BrowserWindow({
width: 900,
height: 700,
icon: path.join(ROOT, "build", "icon.png"),
webPreferences: {
preload: path.join(__dirname, "preload.cjs"),
},
});
win.loadURL("http://localhost:3001");
win.setMenu(null);
}
app.whenReady().then(() => {
serverProcess = fork(path.join(ROOT, "server.js"), [], {
env: { ...process.env, PORT: "3001" },
stdio: "pipe",
});
serverProcess.stdout.on("data", (data) => {
if (data.toString().includes("Server running")) createWindow();
});
setTimeout(createWindow, 3000);
});
app.on("will-quit", () => {
if (serverProcess) serverProcess.kill();
});
app.on("window-all-closed", () => app.quit());