Socket.io на Heroku: код на стороне клиента - PullRequest
11 голосов
/ 10 ноября 2011

У меня возникли проблемы при загрузке библиотеки socket.io для моего клиентского кода JS в приложении Node.js, размещенном на Heroku.

Пока у меня есть эта строка в конце моего файла index.html:

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

Но затем, когда я делаю socket = io.connect('http://myherokuapp'); в своем коде клиента JS, я получаю ожидаемую ошибку "io is notfined".

Есть идеи, как правильно загрузить библиотеку на Heroku?

Спасибо!

1 Ответ

9 голосов
/ 10 ноября 2011

Хорошо, так что я наконец-то нашел свой путь. Я делюсь на случай, если это кому-нибудь поможет.

Я загружаю скрипт в 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/');

Кроме того, и это выходит за рамки этого вопроса, но вы пока не можете использовать websocket на Heroku. У них есть небольшая записка об этом здесь .

Надеюсь, это поможет!

...