Multi-build support; tested successfully for Electron

This commit is contained in:
Matthew Raymer
2025-01-07 09:40:31 +00:00
parent 8b77d2b573
commit ff4e23517b
75 changed files with 29022 additions and 24052 deletions

51
src/electron/main.js Normal file
View File

@@ -0,0 +1,51 @@
const { app, BrowserWindow } = require("electron");
const path = require("path");
let mainWindow;
app.on("ready", () => {
mainWindow = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
//preload: path.join(__dirname, "preload.js"),
contextIsolation: true, // Security setting
},
});
const indexPath = path.join(
__dirname,
"../../",
"dist-electron",
"index.html",
);
console.log("Loading Vue app from:", indexPath);
mainWindow.webContents.openDevTools();
mainWindow.webContents.on(
"did-fail-load",
(event, errorCode, errorDescription, validatedURL) => {
console.error(
"Failed to load:",
validatedURL,
"Error:",
errorDescription,
);
},
);
mainWindow.webContents.on("console-message", (event, level, message) => {
console.log(`[Renderer] ${message}`);
});
mainWindow.loadFile(indexPath).catch((err) => {
console.error("Failed to load index.html:", err);
});
});
app.on("window-all-closed", () => {
if (process.platform !== "darwin") {
app.quit();
}
});

5
src/electron/preload.js Normal file
View File

@@ -0,0 +1,5 @@
const { contextBridge } = require("electron");
contextBridge.exposeInMainWorld("api", {
logMessage: (message) => console.log(`[Electron]: ${message}`),
});