[Node.js / CommonJS]
Sto creando un singolo repository GitHub per il mio strumento che ha una libreria Core, Control, Server e Client. È improbabile che vengano utilizzati tutti allo stesso tempo.
Vorrei che i miei colleghi colleghi a require
un punto di ingresso per tutte e quattro le librerie. Così ho implementato questa implementazione discutibile : esportando la classe Core con proprietà statiche che puntano alle altre classi.
Tool.js
class Core
{
static get Control(){return require("./control")};
static get Server(){return require("./server")};
static get Client(){return require("./client")};
constructor(opts)
{
}
}
module.exports = Core;
// module.exports = {Core, Control, Server, Client};
index.js
//Create core instance
const Tool = require("Tool");
const tool = new Tool();
//Create server instance
const ToolServer = require("Tool").Server;
//etc
const ToolClient = require("Tool").Client;
Questo è un cattivo schema? Mi piacerebbe RTFM per quanto riguarda l'importazione di classi da proprietà statiche, ma non sono sicuro di dove trovare risorse che si tuffino in profondità nel funzionamento interno di JavaScript / Node.js / CommonJS.