Sto sviluppando un'applicazione Node.js che utilizza Socket.io per gestire la comunicazione in tempo reale. Il mio codice è pieno di funzioni On ed Emit. Uso anche la funzione stanza. la mia app è simile a questa:Socket.io Migliori pratiche di codifica
var server = require('http').Server();
var io = require('socket.io')(server);
io.on('connection', function(socket){
socket.on('event1', function(data){"lots of socket and non-socket codes" });
socket.on('event2', function(data){"lots of socket and non-socket codes" });
socket.on('event3', function(data){"lots of socket and non-socket codes" });
socket.on('disconnect', function(){"Some other code"});
});
server.listen(portNum);
funziona bene ma non è la mia soluzione ideale. In primo luogo, in questo approccio tutto è in un unico file piuttosto che in un file più piccolo con funzionalità isolate.
in secondo luogo, è piuttosto difficile eseguire il debug e mantenere questa app in quanto è piuttosto caotica quando si tratta di oltre 1000 linee di codice.
Ecco la mia domanda:
C'è una migliore pratica preferita/sullo sviluppo di applicazioni Socke.io qualità aziendale? Se sì, esiste una grande applicazione Socket.io opensource che demonstrait questo approc o qualsiasi articolo che mi aiuti a rifattorizzare il mio codice in un modo migliore?
penso di iniziare mettendo ogni funzione di callback in un diverso funzione che hai messo fuori da io.on ('connessione'), e magari anche metterli in un file diverso (usando module.exports), inizierai ad avere un'applicazione più chiara. – Jujuleder
@Jujuleder è esattamente quello di cui ho bisogno. Ma mi piacerebbe sapere come ciò possa essere ottenuto mantenendo l'oggetto socket in tutti i moduli. – Raiss