electron-server
TypeScript icon, indicating that this package has built-in type declarations

0.2.0 • Public • Published

Electron Server

A super-fast and easy-to-use library to use Fastify, and it's ecosystem inside an Electron application without the need of exposing (and consuming) a port.

Use-cases

  • Running GraphQL in your Electron application.
  • Running Next.js using fastify-nextjs to create chrome://extensions like pages for your Electron app
  • Communication between main and renderer process using HTTP methods
  • Static file (assets) sharing between renderer process and the main process

Install

To install electron-server in an existing project as a dependency:

Install with npm:

npm i electron-server

Install with pnpm:

pnpm add electron-server

Example

// Require fastify and instantiate it.
const Fastify = require('fastify')
const server = Fastify({ ignoreTrailingSlash: true })
server.get('/hello-world', () => ({ hello: 'world' }))

// Require registerProtocol and call it on your root file.
const { registerProtocol } = require('electron-server')

// Register custom scheme to Electron
registerProtocol({
  scheme: 'my-scheme',
  server,
})

app.whenReady().then(() => {
  const win = new BrowserWindow({
    width: 800,
    height: 600,
  });
  
  // Visit the custom scheme
  win.loadURL("my-protocol://hello-world");
});

Do you want to run the example? Head to the Playground.

Package Sidebar

Install

npm i electron-server

Weekly Downloads

33

Version

0.2.0

License

MIT

Unpacked Size

8.01 kB

Total Files

8

Last publish

Collaborators

  • anonrig