1

Angular プロジェクトangular-seedをダウンロードし、提供されたノード web-server.js ファイルを使用してコードを実行しました。

別のプロジェクトに切り替えて、web-server.js で既に管理されている URL 処理をやり直すことは自明ではありません。

socket.io をスタックに追加したいと考えています。ただし、socket.io が (デフォルトで) クライアント スタックに追加される方法は、次のような行です。

<script src="/socket.io/socket.io.js"></script>

web-server.js URL の書き換えのため、これは機能しません。私は何をしますか?

すでに node.js、npm、および socket.io をインストールしています

4

1 に答える 1

2

クライアント コードの socket.io.js は、ノードによって動的に提供されます (リソースではありません)。ただし、この Web サーバーは URL の書き換えを行うため、通常どおり使用することはできません。

<script src="/socket.io/socket.io.js"></script>

代わりに、次のように提供する必要があります。

<script src="http://nodeJS_server:port/socket.io/socket.io.js"></script>

ここで、テストのために、nodeJS_serverおそらくlocalhost

ノード自体でportはなく、socket.io に対して定義するものです。たとえば、web-server.js の上部にある依存関係で、追加した場合

io = require('socket.io').listen(8080),

これは、ソケット通信を処理するためにポート 8080 に新しいサーバーを作成することです。したがって、index.html で socket.io.js ファイルを次のように定義します。

<script src="http://localhost:8080/socket.io/socket.io.js"></script>

これが他の誰かの時間を少し節約することを願っています。

于 2013-03-28T22:45:54.600 に答える