An IPC server with an API similar to Express' for Electron.
Handling IPC messages in Electron can be a pain if you are building an app with a very active communication between processes. Instead of reinventing the wheel electron-ipc-server
aims to reduce the learning curve by reimplementing well known patterns such as those used for routing in Express on the server side and a fetch*-ish* API on the client side. Internally it' still using ipcRenderer and ipcMain so there's nothing magic going on.
// In main process
const server = require('electron-ipc-server').createServer(app)
server.get('/users', (req, res) =>
{
let users = // you get the users from your backend
res.status(200).send(users)
})
// In render process
const client = require('electron-ipc-server').createClient()
client.get('/users')
.then(response =>
{
console.log(`users`, response.body)
// now go and do something with your list of users!
})
npm i electron-ipc-server --save
- Send requests to the main process and handle responses using Promises.
- Use regular HTTP verbs like GET, POST, PUT and DELETE.
- Still use regular events with
client.on()
.
- Respond to regular HTTP verbs like GET, POST, PUT and DELETE.
- Use an API similar to what Express offers, with middleware, params, query-strings, and much more.
- Broadcast messages (by definition, to all clients).
- Add guides to /docs
- Add /examples