Site icon Tosolini.info

Electron npm: Electron-is-dev

Dopo un po’ di tempo che si è iniziato progredire nella programmazione con Electron, ci si rende conto che la parte di sviluppo può portarsi appresso molto codice da testare, spesso correlato in varie parti e in vari files. Talvolta con librerie differenti, quindi il rischio sostanziale è avere qualcosa che non si è completato che finisce nella versione di rilascio. Questo perché Node ed Electron non è un sistema classico come i MVC che la quasi totalità detiene vari livelli per il testing e lo sviluppo.

Per questo ci viene in aiuto una libreria esterna, che si chiama electron-is-dev e non fa altro che verificare lo stato in cui l’applicativo viene lanciato, ovvero se è in sviluppo attraverso npm start o npm start nomedelloscript oppure se è proprio il programma compilato.

L’installazione avviene come di consueto con npm i electron-is-dev mentre il codice da utilizzare è molto semplice. Prendiamo il caso più classico di tutti, ovvero quello di avviare il sistema del tools di sviluppo di chrome contestualmente all’applicazione.

const isDev = require('electron-is-dev')

 if (isDev) { 
  // Apertura degli strumenti per sviluppatori.
  win.webContents.openDevTools({mode: 'detach'})
 }

Come si vede in modo chiaro dall’esempio proposto, una volta dichiarata la libreria possiamo utilizzare un normalissimo ciclo IF per poter contingentare il codice che stiamo sperimentando, senza incorrere nel rischio che questo finisca come esecutivo nel programma di compilazione, visto che di fatto ci finirà, ma non sarà attivo. In questo caso l’apertura di openDevTools che sicuramente nella parte di sviluppo sono praticamente obbligatori.

Con questo piccolo trucco si può infatti scrivere un codice e testarlo fino a quando non si ritiene sia pronto. In questo modo si può sistemare ad esempio del codice buggato e rilasciare la versione aggiornata e contestualmente non dover commentare, o ricordarsi di farlo, parecchie righe di codice che stiamo provando su nuove funzionalità.

Exit mobile version