Webpack plugin that reloads Electron main or renderer process on build. Powered by electron-connect
npm install --save-dev electron-reload-webpack-plugin
const path = require('path');
const createElectronReloadWebpackPlugin = require('electron-reload-webpack-plugin');
// Create one plugin for both renderer and main process
const ElectronReloadWebpackPlugin = createElectronReloadWebpackPlugin({
// Path to `package.json` file with main field set to main process file path, or just main process file path
path: path.join(__dirname, './build/backend.js'),
// or just `path: './'`,
// Other 'electron-connect' options
logLevel: 0
});
module.exports = {
// ...
// Target is recommended to be `electron-main` or `electron-renderer`
// Usually you want to have two webpack configs, one for renderer and other one for main process
target: 'electron-renderer',
plugins: [
// ...
// Call created plugin here
ElectronReloadWebpackPlugin()
// If your config `target` is different from recommended one then you should also specify it like this `ElectronReloadWebpackPlugin('electron-renderer')`
],
// ...
};
import { app, BrowserWindow } from 'electron';
import { client } from 'electron-connect';
app.on('ready', () => {
const mainWindow = new BrowserWindow({
// ...
});
// Pass your BrowserWindow object
client.create(mainWindow);
});
$ webpack --watch
Check webpack.config.js
example in examples folder