Est-ce que Phonegap intègre socket.io dans la version 3.5.0-0.20.10?

Puisque j'ai mis à jour mon PhoneGap vers la version 3.5.0-0.20.10, j'ai des problèmes dans mon projet.

Quand j'utilise le service PhoneGap, alors je vois le cli;

[phonegap] 200 /socket.io/?EIO=2&transport=polling&t=....... 

Mais je n'utilise pas socket.io . À l'aide des outils de développement Chrome, je vois que dans mon projet se trouve un dossier socket.io avec un socket.io.js . Donc, je pense que PhoneGap l'importe par lui-même.

Et mon requireJS a maintenant un problème:

Uncaught ReferenceError: io n'est pas défini

J'ai essayé de supprimer RequireJS, alors il fonctionne mais j'ai besoin de RequireJS. Tout fonctionne parfaitement sur l'ancienne version 3.5.0-0.20.5

Trouvé la réponse … Modifiez consoler.js sous le répertoire node-modules de phonegap (généralement / usr / local / lib / node_modules / phonegap / node_modules / connect-phonegap / res / middleware ) pour charger socket.io via AMD plutôt que directement:

 <!-- <script src="/socket.io/socket.io.js"></script> --> <script> (function(window) { require(['/socket.io/socket.io.js'],function(io){ var socket = io('http://' + document.location.host); var previousConsole = window.console || {}; window.console = { log:function(msg){ previousConsole.log && previousConsole.log(msg); socket.emit('console','log', msg); }, warn:function(msg){ previousConsole.warn && previousConsole.warn(msg); socket.emit('console','warn', msg); }, error:function(msg){ previousConsole.error && previousConsole.error(msg); socket.emit('console','error', msg); } } }); })(window); </script>