How to set up hot reload on Electron
When working on an Electron app, it’s very handy to set up hot reload, so that the application updates without having to restart it.
You can do that using the npm module electron-reloader.
Suppose you have this sample Electron application:
index.js
const { app, BrowserWindow } = require('electron')
function createWindow() {
// Create the browser window.
const win = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration: true,
},
})
// and load the index.html of the app.
win.loadFile('index.html')
}
app.whenReady().then(createWindow)
index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Hello World!</title>
</head>
<body>
<h1>Hello World!</h1>
</body>
</html>
Install electron-reloader
as a development dependency:
npm install -D electron-reloader
Then add this line to the index.js
file:
try {
require('electron-reloader')(module)
} catch (_) {}
and that’s it! Now when you start the application using electron .
, or npm start
if you have
"start": "electron .",
in your package.json
, any change you apply to the application files will be reflected in the application window.
→ I wrote 17 books to help you become a better developer, download them all at $0 cost by joining my newsletter
→ JOIN MY CODING BOOTCAMP, an amazing cohort course that will be a huge step up in your coding career - covering React, Next.js - next edition February 2025