J'ai sorti mes cheveux en essayant de comprendre ce problème. J'ai une application node.js qui fonctionne bien dans Windows. J'ai zippé le tout et je l'ai mis sur mon boîtier Linux (Ubuntu 12) et j'ai installé toutes les librairies via npm, et pourtant je reçois toujours un message 404 disant que mon fichier socket.io.js est introuvable. J'ai essayé différentes solutions telles que liées au script cdn.socket.io mais qui lance juste une erreur "require not found". Mon code dans mon HTML est comme suit:Socket.io.js pas trouvé sur Ubuntu mais est sur Windows
<script src="/socket.io/socket.io.js"></script>
J'ai même essayé <script src="localhost:4000/socket.io/socket.io.js"></script>
et voici mon côté serveur:
var express = require('express');
var app = express.createServer();
var io = require('socket.io').listen(app);
...
app.listen(4000);
console.log('server started');
Cette question est similaire, mais la réponse pour elle est simplement une sémantique express mise à jour qui ne devrait pas s'appliquer à mon code: socket.io.js not found
Si ma compréhension est correcte, le chemin du script devrait fonctionner car lorsque socket.io est en cours d'exécution, il doit diriger cette requête vers la bonne route. Je ne sais pas vraiment quoi d'autre je devrais rechercher pour un correctif, pourrait-il être quelque chose avec le chemin dans Ubuntu? Toute aide serait grandement appréciée!
Tout testé ce:
var io = require('socket.io').listen(8000);
Je suis allé à localhost: 8000 et la 'bienvenue à Socket.IO' un message est apparu que je sais il est en cours d'exécution ....
chemins
node_modules: /home/alex/node_modules/socket.io
mon application noeud: /home/alex/documents/project/app.js
Devinez vous avez de la chance! Juste essayé cela en vain. –
A fait une nouvelle installation sur un serveur redhat et cela a bien fonctionné. Va comprendre, hah. –