Chargement lent de la bibliothèque client Socket.IO

entrez la description de l'image ici

Je démarre mon serveur et actualise la page dans un navigateur, ce qui prend alors> 2 secondes pour charger la ressource JS. Si je recharge ensuite la page dans n’importe quel navigateur, le chargement est rapide.

Cela ne se produit que lors de la première demande après le démarrage du serveur. Je suppose que cela a quelque chose à voir avec le fait de rassembler le fichier JS la première fois, puis de le mettre en cache sur le serveur.

Peut-on faire quelque chose pour réduire cette fois?

J’ai essayé les deux avec et sans les parameters de production (gzip, minify, etc.).

Code client:

  var socket = io.connect();  

Code serveur:

 var express = require('express'), expressServer = express.createServer(), socketServer = require('socket.io').listen(expressServer); expressServer.listen(1337); 

Il y a actuellement un bogue dans socket.io qui en est la cause. Assurez-vous que vous n’avez PAS cet ensemble et qu’il devrait charger BEAUCOUP plus rapidement:

 io.set('browser client gzip', true); // gzip the file 

Le premier appel à charger socket.io.js tentera de le compresser et de le stocker en mémoire. Vous allez rencontrer ces bugs:

Vous pouvez obtenir une augmentation de vitesse en utilisant la version réduite et en permettant la mise en cache jusqu’à ce que ceci soit corrigé:

 io.set('browser client minification', true); // send minified client io.set('browser client etag', true); // apply etag caching logic based on version number 

D’une manière ou d’une autre, votre bibliothèque jQuery, plus de la moitié de la bibliothèque socket.io, se télécharge 50 fois plus vite. Peut-être qu’il était caché d’avant? En fin de compte, le navigateur télécharge simplement un fichier.

Quoi qu’il en soit, cet homme prétend l’avoir réduit.