How to close electron app via javascript?
49,758
Solution 1
you can use
const remote = require('electron').remote
let w = remote.getCurrentWindow()
w.close()
to close your app.
if you are using jQuery
const remote = require('electron').remote
$('#close-btn').on('click', e => {
remote.getCurrentWindow().close()
})
if you are using 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>
Solution 2
I use the line below to close the app.
window.close()
Solution 3
You can also use app.exit:
app.exit(0)
This seems to bypass any event listeners and force the whole app to exit immediately. (Be sure that is what you want though!)
Author by
code_legend
Updated on October 04, 2021Comments
-
code_legend over 2 years
I am running an express app via electron.
Below is the 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(); } });
and below is a button in the view that upon click i would like it to close the app
<button id="close-btn"><i class="fa fa-cube" aria-hidden="true"></i> Close application</button>
Essentially I want to activate this part of the code once the button has been clicked
app.on("window-all-closed", function () { if (process.platform !== "darwin") { app.quit(); } });