1.0.0 • Published 6 years ago

require_async_module v1.0.0

Weekly downloads
2
License
ISC
Repository
-
Last release
6 years ago

RequireAsync

RequireAsync è una piccola utility per l'importazione asincrona di moduli per NodeJs.

Introduzione

Il problema che questa piccola libreria cerca di risolvere è quello di minimizzare il costo dell'avvio di servizi sviluppati in NodeJs posticipando l'esecuzione e l'importazione di moduli.

Utlizzo

Al fine di utilizzare l'import dinamico è necessario creare un istanza di RequireAsync passando il percorso del modulo che si desidera importare relativo al file nel quale si chiama il costruttore

const RequireAsync = require('../index');
const moduleReq = new RequireAsync('../your/module');

// do stuff

moduleReq
  .require()
  .then(module => {
    // do stuff with your module
  })
  .catch(err => {
    // handle error
  });

Questo tipo di approccio permette anche la creazone di import multipli in contemporanea

const RequireAsync = require('../index');
const module1Req = new RequireAsync('../your/module1');
const module2Req = new RequireAsync('../your/module2');
const module3Req = new RequireAsync('../your/module3');
const module4Req = new RequireAsync('../your/module4');

Promise.all([
  module1Req.require(),
  module2Req.require(),
  module3Req.require(),
  module4Req.require()
])
  .then([...module1, ...module2, ...module3, ...module4] => {
    // do stuff with your modules
  })
  .catch(err => {
    // handle error
  });

Sviluppo

TODO:

  • Implementare un sistema di cacheing di moduli pre caricati

Struttura

Il sorgente è contenuto per la sua totalità in index.js e i test sono contenuti in test/index.js

Autori