2011-11-10 12 views
9

HerokuでホストされているNode.jsアプリケーションで、JSクライアントコードのsocket.ioライブラリを読み込む際に問題が発生しました。HerokuのSocket.io:クライアント側のコード

今のところ、私は私のindex.htmlファイルの末尾に次の行を持っている:

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

しかし、私は私のJSクライアントコードでsocket = io.connect('http://myherokuapp');を行うときに、私が期待される「IOが定義されていません取得'エラー。

ヘロクでライブラリを正しく読み込む方法はありますか?

ありがとうございます!

+0

okだから私は最終的にクライアント側のライブラリを他のアプリケーションと "手動で"プッシュしようとしました。動作しているようですが、socket.io.jsの初期化中に新しい問題が発生しました。http://myherokuapp/socket.io/1/?t = 1320939716103&jsonp = 0があるポイントで呼び出され、404オブジェクトが返されます見つかりました。 – Johanisma

答えて

8

私はようやく自分の道を見つけました。それが誰かを助ける場合に備えて私は共有しています。

私はこの方法のindex.htmlでスクリプトを読み込む:

<script type="text/javascript" src="http://myapp.herokuapp.com/socket.io/socket.io.js"></script> 

クライアント側ライブラリは、実際のノードサーバからロードされ、手動でプッシュするべきではありませんので、これは理にかなっています。私のクライアント側のJSファイルで

、私はソケットをこのようにインスタンス化します。また

socket = io.connect('http://myapp.herokuapp.com/'); 

、これは、この質問の範囲を超えていますが、今のHerokuの上でのWebSocketを使用することはできません。彼らはそれについて少しノートを持っていますhere

希望すると便利です。

+0

これにコードを変更した後、アプリケーションはHerokuサーバーで動作していますか?私も同じ問題に直面しており、まだ解決していません。 404エラーが見つかりません。私はあなたのコードを今日後で試してみます。あなたのアプリケーションはHerokuサーバで動作していますか? URLを共有することはできますか? – jeewan

関連する問題