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 path = require('path')
|
||||||
const express = require('express')
|
const express = require('express')
|
||||||
const eApp = express()
|
const eApp = express()
|
||||||
|
const portInUse = require('./portInUse.js')
|
||||||
|
|
||||||
const frontendPath = 'frontend/'
|
const frontendPath = 'frontend/'
|
||||||
|
|
||||||
@ -24,15 +25,24 @@ function createWindow() {
|
|||||||
// Hide the toolbar
|
// Hide the toolbar
|
||||||
mainWindow.setMenuBarVisibility(false)
|
mainWindow.setMenuBarVisibility(false)
|
||||||
|
|
||||||
// Start a local express server to serve static files
|
// We try to use the same port every time and only use a different one if that does not succeed.
|
||||||
eApp.use(express.static(path.join(__dirname, frontendPath)))
|
let port = 45735
|
||||||
// Handle urls set by the frontend
|
portInUse(port, used => {
|
||||||
eApp.get('*', (request, response, next) => {
|
if(used) {
|
||||||
response.sendFile(`${__dirname}/${frontendPath}index.html`);
|
console.log(`Port ${port} already used, switching to a random one`)
|
||||||
})
|
port = 0 // This lets express choose a random port
|
||||||
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}`)
|
// 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