it-swarm.com.de

Wo befindet sich die Socket.io-Clientbibliothek?

Soweit ich gesehen habe, gibt es keine Erklärung, wo wir das clientseitige Skript für socket.io Finden sollen, wenn node.js Nicht als Webserver verwendet wird. Ich habe ein ganzes Verzeichnis clientseitiger Dateien gefunden, aber ich benötige sie in einer kombinierten Version (wie sie bei der Verwendung von node.js-Webservern bereitgestellt wird). Irgendwelche Ideen?

75
Braun Shedd

socket.io.js ist das, was Sie in Ihr clientseitiges HTML einfügen werden. Etwas wie:

<script type="text/javascript" src="socket.io.js"></script>

mein Skript befindet sich:

/usr/local/lib/node_modules/socket.io/node_modules/socket.io-client/dist/socket.io.js

kopieren Sie diese Datei dorthin, wo Ihr Server sie bereitstellen soll.

67
EhevuTov

Der beste Weg, dies zu tun, ist Laube .

bower install socket.io-client --save

und fügen Sie Folgendes in den HTML-Code Ihrer App ein:

<script src="/bower_components/socket.io-client/socket.io.js"></script>

Auf diese Weise können Sie den socket.io-Teil Ihres Clients genauso behandeln wie jedes andere verwaltete Paket.

171
Matt Way

Ich denke, dass es besser und richtiger ist, es von dieser URL zu laden

src="/socket.io/socket.io.js" 

auf der Domain, auf der socket.io läuft. Das Positive an dieser Lösung ist, dass beim Aktualisieren Ihres socket.io npm-Moduls auch Ihre Client-Datei aktualisiert wird und Sie sie nicht jedes Mal manuell kopieren müssen.

25
Capaj

Ich habe bower verwendet, wie in Matt Ways Antwort vorgeschlagen, und das hat großartig funktioniert, aber dann hatte die Bibliothek selbst keine eigene bower.json - Datei.

Dies bedeutete, dass das Gulp-Plugin bower-main-files, Mit dem ich die JS-Dateien meiner Abhängigkeiten finde, nicht in socket.io geladen wurde und beim Laden der Seite ein Fehler auftrat. Das Hinzufügen eines Overrides zu meinem Projekt bower.json Hat das Problem umgangen.

Installieren Sie zuerst die Bibliothek mit Bower:

bower install socket.io-client --save

Fügen Sie dann die Außerkraftsetzung zur Datei bower.json Ihres Projekts hinzu:

"overrides": {
  "socket.io-client": {
    "main": ["socket.io.js"]
  }
}
8
Dave Ceddia

Für alle, die wiredep ausführen und "socket.io-client wurde nicht in Ihre Datei eingefügt" erhalten. Error:

Ändern Sie Ihre Wiredep-Aufgabe wie folgt:

wiredep: {
  ..
  main: {
    ..
    overrides: {
      'socket.io-client': {
        main: 'socket.io.js'
      }
    }
  }
6
K. D.

Wenn Sie bower.json verwenden, fügen Sie die socket.io-client-Abhängigkeit hinzu.

"socket.io-client": "0.9.x"

Führen Sie dann Bower-Installation aus, um socket.io-client herunterzuladen.

Fügen Sie dann das Skript-Tag in Ihren HTML-Code ein.

<script src="bower_components/socket.io-client/dist/socket.io.min.js"></script>
2

Ich habe einen Bower-kompatiblen Socket.io-Client erstellt, der folgendermaßen installiert werden kann:

bower install sio-client --save

oder für Entwicklungszwecke:

bower install sio-client --save-dev

link zu repo

2

wenn Sie https://github.com/btford/angular-socket-io verwenden, stellen Sie sicher, dass Ihre index.html wie folgt lautet:

<!-- https://raw.githubusercontent.com/socketio/socket.io-client/master/socket.io.js -->
<script src="socket.io.js"></script>

<!-- build:js({client,node_modules}) app/vendor.js -->
<!-- bower:js -->
<script src="bower_components/jquery/dist/jquery.js"></script>
<script src="bower_components/angular/angular.js"></script>
<!-- ...... -->
<script src="bower_components/angular-socket-io/socket.js"></script>
<!-- endbower -->
<!-- endbuild -->



<script type="text/javascript" charset="utf-8">
   angular.module('myapp', [
// ...    
'btford.socket-io'
]);

// do your angular/socket stuff
</script>
0
IHeartAndroid