¿Cuál es la forma correcta de implementar la compatibilidad con la línea de comandos en una aplicación electrónica sin mostrar la interfaz gráfica de usuario, pero ejecutando el código y cerrando la aplicación?
No pude encontrar ninguna muestra en línea de una forma adecuada de implementar esto. Me preguntaba si debería reemplazar app.on("ready", createWindow); con un método diferente como init() que comprueba si hay algún argumento en la línea de comandos; de lo contrario, proceda con normalidad como se muestra a continuación...
import { app, BrowserWindow, nativeTheme } from "electron"; import path from "path"; let mainWindow; function createWindow() { /** * Initial window options */ console.log("running application...."); mainWindow = new BrowserWindow({ width: 1000, height: 960, useContentSize: true, webPreferences: { contextIsolation: true, enableRemoteModule: true, preload: path.resolve(__dirname, process.env.QUASAR_ELECTRON_PRELOAD), }, }); mainWindow.loadURL(process.env.APP_URL); if (process.env.DEBUGGING) { // if on DEV or Production with debug enabled mainWindow.webContents.openDevTools(); } else { // we're on production; no access to devtools pls mainWindow.webContents.on("devtools-opened", () => { mainWindow.webContents.closeDevTools(); }); } mainWindow.on("closed", () => { mainWindow = null; }); } function processArgs() { console.log("running commandline...."); } app.on("ready", createWindow); // REPLACE createWindow with init method that checks and then calls createWindow is no args are supplied? app.on("window-all-closed", () => { if (process.platform !== "darwin") { app.quit(); } }); app.on("activate", () => { if (mainWindow === null) { createWindow(); } });