Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save erssebaggala/ebb4e647e527b9745d5c0005420eccc1 to your computer and use it in GitHub Desktop.
Save erssebaggala/ebb4e647e527b9745d5c0005420eccc1 to your computer and use it in GitHub Desktop.
How to run Express inside an Electron app

How to run Express inside an Electron app

You can run your Express app very easily inside your Electron app.

All you need to do is to:

  • place all the files of your Express app inside a new app folder in your_electron_app\resources\app
  • reconfigure the app.js file
  • refactor some relative pathes in your Express app

Configure app.js

You should start your Express app before opening a new BrowserWindow and the load a new mainWindow like this:

const express = require('./express'); //your express app

app.on('ready', function() {
  express();
  mainWindow = new BrowserWindow({
    width: 1280,
    height: 720,
    autoHideMenuBar: true,
    useContentSize: true,
    resizable: false,
  });
  mainWindow.loadURL('http://localhost:5000/');
  mainWindow.focus();

});

Refactor pathes

Pathes in Electron don't work the same way they do in your Express app.

You have to make them all from relative to absolute pathes first.

So instead of doing this:

app.set('views', '/client/views');
app.use(express.static(/client/dist/static));

you have to do this:

app.set('views', __dirname + '/client/views');
app.use(express.static(__dirname + '/client/dist/static'));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment