@constl/mandataire-electron-principal
TypeScript icon, indicating that this package has built-in type declarations

3.0.3 • Public • Published

Mandataire Constellation : Processus Principal Électron

À utiliser avec @constl/mandataire-electron-rendu dans le processus de rendu Électron.

Installation

Utilisation : processus principal

Dans un fichier séparé, initialisez le gestionnaire qui connectra les fenêtres de votre appli Éllectron à Constellation.

// constellation.ts
import { GestionnaireFenêtres } from '@constl/mandataire-electron-principal';

const enDéveloppement = process.env.NODE_ENV !== 'production';

const importationIPA = import('@constl/ipa');
const importationServeur = import('@constl/serveur');

export const gestionnaireFenêtres = new GestionnaireFenêtres({ 
  enDéveloppement,
  importationIPA,
  importationServeur,
});

Connecter chaque nouvelle fenêtre de votre appli à Constellation au moment où vous la créez :

// main.ts
import {BrowserWindow} from 'electron';

fenêtre = new BrowserWindow();
gestionnaireFenêtres.connecterFenêtreÀConstellation(fenêtre);

Et surtout, n'oubliez pas de fermer Constellation lorsqu'on a fini.

// main.ts
app.on('will-quit', async () => {
  await gestionnaireFenêtres.fermerConstellation();
});

Utilisation : préchargeur

Dans votre code préchargeur, vous devez exposer les fonctions suivantes avec electron.contextBridge.exposeInMainWorld. Nous recommandons unplugin-auto-expose, qui simplifie grandement la tâche.

// preload.ts

export {
  envoyerMessageÀConstellation,
  écouterMessagesDeConstellation,
  envoyerMessageÀServeurConstellation,  // Uniquement si vous voulez inclure le serveur WS
  écouterMessagesDeServeurConstellation,  // Uniquement si vous voulez inclure le serveur WS
} from '@constl/mandataire-electron-principal';

Utilisation : rendu

Readme

Keywords

none

Package Sidebar

Install

npm i @constl/mandataire-electron-principal

Weekly Downloads

1,907

Version

3.0.3

License

AGPL-3.0-or-later

Unpacked Size

597 kB

Total Files

44

Last publish

Collaborators

  • julien.malard