2012-03-17 22 views
6

Sto sviluppando una piccola app in Node.js con un database MongoDB, ho nginx in primo piano per gestire file statici e l'index.html iniziale.È una cattiva pratica inviare HTML su una connessione WebSocket

Quando visito il mio index.html vengono caricati tutti i file javascript/css/img e viene effettuata una connessione Web al server node.js.

Inizialmente il mio index.html è vuoto, deve essere compilato con il file modello giusto. Una cosa che potrei fare è fare un normale req ajax.

$ .get ('myfile.html') e aggiungerlo al mio contenuto. Il websocket gestisce solo i dati del database.


Ora ho già un collegamento websocket aperto il server, perché non ho solo trasferire il modello .html insieme con i dati del database, e si fondono nel client.

I file modello sono solo piccoli frammenti di codice HTML, perché sprecare un req http, giusto ??


Si noti che questa applicazione verrà utilizzata solo da persone selettive con supporto completo del browser html5. Non sono richieste situazioni di ripiego.

+0

Hai provato [Backbone.js] (http://documentcloud.github.com/backbone/)? – cormacrelf

+0

Sì, ma non ho avuto la funzione di sincronizzazione per funzionare. Ci sono alcuni esempi online, ma sembrano complicati per i miei bisogni. La maggior parte della logica che ho già sul posto, voglio solo sapere se il WebSocket può essere usato per html. –

risposta

5

Dato che HTTP è così adatto per servire i file, con il caching - potenzialmente in più livelli - funziona per te quindi non dovrai nemmeno inviare alcun contenuto html più di una volta a un visitatore, io sicuramente penso i lati positivi superano i lati negativi. Sembra che tu possa inviare un index.html insieme al contenuto correlato e avere i modelli nel tuo index.html (ad esempio come in jQuery templates che può utilizzare un tag <script id="fooTemplate" type="text/x-jquery-tmpl">).

Ovviamente si può può inviare i modelli su una WebSocket.

+0

Grazie per la risposta, è esattamente quello che voglio fare. Ho già usato il template jQuery e funziona abbastanza bene. Grande! –

Problemi correlati