Estoy ejecutando una aplicación express a través de electrones.
A continuación se muestra el main.js
const electron = require("electron"), app = electron.app, BrowserWindow = electron.BrowserWindow; let mainWindow; function createWindow () { mainWindow = new BrowserWindow({ width: 1200, height: 800, frame: false, kiosk: true }); mainWindow.loadURL(`file://${__dirname}/index.html`) mainWindow.webContents.openDevTools(); mainWindow.on("closed", function () { mainWindow = null; }) } app.on("ready", createWindow); app.on("browser-window-created",function(e,window) { window.setMenu(null); }); app.on("window-all-closed", function () { if (process.platform !== "darwin") { app.quit(); } }); app.on("activate", function () { if (mainWindow === null) { createWindow(); } });
y debajo hay un botón en la vista que al hacer clic me gustaría cerrar la aplicación
<button id="close-btn"><i class="fa fa-cube" aria-hidden="true"></i> Close application</button>
Básicamente, quiero activar esta parte del código una vez que se ha hecho clic en el botón
app.on("window-all-closed", function () { if (process.platform !== "darwin") { app.quit(); } });
puedes usar
const remote = require('electron').remote let w = remote.getCurrentWindow() w.close()
para cerrar su aplicación.
si estás usando jQuery
const remote = require('electron').remote $('#close-btn').on('click', e => { remote.getCurrentWindow().close() })
si está utilizando Vue.js
<template> <button @click="close"><i class="fa fa-cube" aria-hidden="true"></i> Close application</button> </template> <script> const remote = require('electron').remote export default{ data(){ return { w: remote.getCurrentWindow(), } }, methods: { close() { this.w.close() } } } </script>
Uso la siguiente línea para cerrar la aplicación.
window.close()