Have a default port and only switch to a random one if that's taken
This commit is contained in:
parent
4d96f15583
commit
e122ed329b
28
main.js
28
main.js
@ -2,6 +2,7 @@ const {app, BrowserWindow, shell} = require('electron')
|
||||
const path = require('path')
|
||||
const express = require('express')
|
||||
const eApp = express()
|
||||
const portInUse = require('./portInUse.js')
|
||||
|
||||
const frontendPath = 'frontend/'
|
||||
|
||||
@ -24,15 +25,24 @@ function createWindow() {
|
||||
// Hide the toolbar
|
||||
mainWindow.setMenuBarVisibility(false)
|
||||
|
||||
// Start a local express server to serve static files
|
||||
eApp.use(express.static(path.join(__dirname, frontendPath)))
|
||||
// Handle urls set by the frontend
|
||||
eApp.get('*', (request, response, next) => {
|
||||
response.sendFile(`${__dirname}/${frontendPath}index.html`);
|
||||
})
|
||||
const server = eApp.listen(0, '127.0.0.1', () => {
|
||||
console.log(`Server started on port ${server.address().port}`)
|
||||
mainWindow.loadURL(`http://127.0.0.1:${server.address().port}`)
|
||||
// We try to use the same port every time and only use a different one if that does not succeed.
|
||||
let port = 45735
|
||||
portInUse(port, used => {
|
||||
if(used) {
|
||||
console.log(`Port ${port} already used, switching to a random one`)
|
||||
port = 0 // This lets express choose a random port
|
||||
}
|
||||
|
||||
// Start a local express server to serve static files
|
||||
eApp.use(express.static(path.join(__dirname, frontendPath)))
|
||||
// Handle urls set by the frontend
|
||||
eApp.get('*', (request, response, next) => {
|
||||
response.sendFile(`${__dirname}/${frontendPath}index.html`);
|
||||
})
|
||||
const server = eApp.listen(port, '127.0.0.1', () => {
|
||||
console.log(`Server started on port ${server.address().port}`)
|
||||
mainWindow.loadURL(`http://127.0.0.1:${server.address().port}`)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user