2013-03-28 2 views
1

Я загрузил проект Angular angular-seed и использовал файл web-server.js узла, который они предоставили для запуска моего кода.Интеграция socket.io в angular-seed web-server.js

Я уже разработал достаточно функциональные возможности, которые было бы нетривиальным для переключения на другой проект и повторной обработки URL-адресов, уже управляемых в web-server.js.

Я хочу добавить socket.io в свой стек. Однако, как socket.io есть (по умолчанию) добавляется в стек клиента является строка, которая выглядит следующим образом:

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

Из-за веб-server.js URL переписывает, это не работает. Что я делаю?

я уже установили Node.js, НПМ и Socket.io

ответ

2

socket.io.js на клиентский код, который подается динамически узлом (это не ресурс). Тем не менее, этот веб-сервер делает перезаписи 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, а не самого узла. Например, в своих зависимости в верхней части веб-server.js, если вы добавили

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

Это создает новый сервер на порт 8080 для обработки вашего сокеты. Таким образом, вы должны определить файл socket.io.js в index.html как:

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

Надеется, что это спасает кого-то еще немного времени.

Смежные вопросы