@mizuka-wu/ipc-express
v0.3.3
Published
This package enables you to use the electron ipc like an express application without the http overhead.
Downloads
5
Readme
ipc-express for electron
This library enables you to use the express framework in the mainthread of electron but without the http overhead.
Usage
Installation
npm i @mizuka-wu/ipc-express
in your main.js file
const { ipcMain } = require('electron');
const express = require('express');
const { IpcServer } = require('@mizuka-wu/ipc-express');
const expressApp = express();
const ipc = new IpcServer(ipcMain);
const someMiddleware = (req, res, next) => {
next();
};
expressApp.use(someMiddleware);
expressApp.get('/test/:id', (req, res) => {
res.send({
params: req.params,
query: req.query
});
});
ipc.listen(expressApp);
In your frontend framework
import { IpcClient } from '@mizuka-wu/ipc-express';
const { ipcRenderer } = window.require('electron');
const ipc = new IpcClient(ipcRenderer);
async componentDidMount() {
const testId = 5;
const { data } = await ipc.get(`/test/${testId}?test=testquery`);
const { params, query } = data;
console.log({ params, query })
}
example
An example can be found in the example-app
folder.
To start the example-app:
cd example-app
npm run start:main
npm run start:renderer
contribute
- fork this repo
npm i
- make changes on new branch
- update README
- submit PR
Todo
- [ ] extend the response object to an more express-like one
License
Copyright © 2019-Present, René Heinen. All rights reserved.