Acabo de configurar una aplicación básica de electron-react usando electron-forge y agregando React + webpack + mecanografiado según las instrucciones y todo funciona muy bien (no he agregado nada más allá de la configuración básica). Se compila bien con todas las casillas verdes.
Sin embargo, cuando presiono el botón de cerrar haciendo clic con el mouse en la x en la parte superior derecha, se apaga pero da el siguiente error:
An unhandled exception has occurred inside Forge: Cannot read property 'close' of undefined TypeError: Cannot read property 'close' of undefined at WebpackPlugin.exitHandler (C:\Users\cwebb\Documents\Webdev\Atlas\node_modules\@electron-forge\plugin-webpack\src\WebpackPlugin.ts:83:16) at ChildProcess.<anonymous> (C:\Users\cwebb\Documents\Webdev\Atlas\node_modules\@electron-forge\plugin-webpack\src\WebpackPlugin.ts:171:18) at ChildProcess.emit (events.js:412:35) at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12) C:\Users\cwebb\Documents\Webdev\Atlas\node_modules\@electron-forge\plugin-webpack\dist\WebpackPlugin.js:87 server.close(); ^ TypeError: Cannot read property 'close' of undefined at WebpackPlugin.exitHandler (C:\Users\cwebb\Documents\Webdev\Atlas\node_modules\@electron-forge\plugin-webpack\src\WebpackPlugin.ts:83:16) at process.<anonymous> (C:\Users\cwebb\Documents\Webdev\Atlas\node_modules\@electron-forge\plugin-webpack\src\WebpackPlugin.ts:126:40) at process.emit (events.js:412:35) at process.emit (C:\Users\cwebb\Documents\Webdev\Atlas\node_modules\source-map-support\source-map-support.js:516:21) at processEmit [as emit] (C:\Users\cwebb\Documents\Webdev\Atlas\node_modules\signal-exit\index.js:155:35) at process.exit (internal/process/per_thread.js:169:15) at process.<anonymous> (C:\Users\cwebb\Documents\Webdev\Atlas\node_modules\@electron-forge\cli\src\util\terminate.ts:20:11) at process.emit (events.js:400:28) at process.emit (C:\Users\cwebb\Documents\Webdev\Atlas\node_modules\source-map-support\source-map-support.js:516:21) at processEmit [as emit] (C:\Users\cwebb\Documents\Webdev\Atlas\node_modules\signal-exit\index.js:161:32) at process._fatalException (internal/process/execution.js:167:25)¿Alguna recomendación sobre cómo corregir esto? Encontré una respuesta en un sitio de gitmemory, pero solo decía "gracias, funcionó", pero no comentó cómo solucionar el problema.
Gracias de antemano por su ayuda.
Me encontré con esto hoy y logré encontrar una pista aquí .
Tienes que unirte al evento window-all-closed de la app Electron si no quieres que esto suceda. Por lo general, usaría este evento para salir de la aplicación cuando todas las ventanas estén cerradas. Aquí hay un fragmento de ejemplo de main.js :
const { app } = require('electron') app.on('window-all-closed', () => { app.quit() }) Si desea que la aplicación siga ejecutándose después de cerrar todas las ventanas, puede eliminar la llamada a app.quit , pero asegúrese de mantener el enlace a window-all-closed . Tener el enlace evita que se produzca la excepción.