Насколько я понял, нет никаких объяснений относительно того, где мы должны найти клиентскую сторону script для socket.io
, если node.js
не используется в качестве веб-сервера. Я нашел целый каталог файлов на стороне клиента, но мне они нужны в комбинированной версии (например, она использовалась при использовании веб-серверов node.js). Любые идеи?
Где находится библиотека клиентов socket.io?
Ответ 1
socket.io.js - это то, что вы собираетесь добавить в свой клиентский html. Что-то вроде:
<script type="text/javascript" src="socket.io.js"></script>
my script находится:
/usr/local/lib/node_modules/socket.io/node_modules/socket.io-client/dist/socket.io.js
скопируйте этот файл туда, где вы хотите, чтобы ваш сервер обслуживал его.
Ответ 2
Лучшим способом, который я нашел для этого, является использование bower.
bower install socket.io-client --save
и включите в свое приложение HTML следующее:
<script src="/bower_components/socket.io-client/socket.io.js"></script>
Таким образом, вы можете обрабатывать часть сокета socket.io своего клиента так же, как вы обрабатываете любой другой управляемый пакет.
Ответ 3
Я думаю, что лучший и правильный способ - загрузить его из этого URL
src="/socket.io/socket.io.js"
в домене, где выполняется socket.io. Что положительно в этом решении, так это то, что если вы обновите модуль socket.io npm, ваш файл клиента также будет обновлен, и вам не придется его копировать каждый раз вручную.
Ответ 4
Я использовал беседу, как было предложено в ответе Matt Way, и это отлично поработало, но тогда сама библиотека не имела собственного файла bower.json
.
Это означало, что плагин bower-main-files
Gulp, который я использую для поиска JS файлов зависимостей, не вставлял socket.io, и я получал ошибку при загрузке страницы. Проблема с добавлением переопределения к моему проекту bower.json
.
Сначала установите библиотеку с помощью bower:
bower install socket.io-client --save
Затем добавьте переопределение в ваш проект bower.json:
"overrides": {
"socket.io-client": {
"main": ["socket.io.js"]
}
}
Ответ 5
Для всех, кто запускает wiredep и получает "socket.io-client", не был введен в ваш файл ". Ошибка:
Измените свою задачу wiredep следующим образом:
wiredep: {
..
main: {
..
overrides: {
'socket.io-client': {
main: 'socket.io.js'
}
}
}
Ответ 6
Если вы используете bower.json, добавьте зависимость socket.io-client.
"socket.io-client": "0.9.x"
Затем запустите bower install для загрузки socket.io-client.
Затем добавьте тег script в свой HTML.
<script src="bower_components/socket.io-client/dist/socket.io.min.js"></script>
Ответ 7
Я создал совместимый со звуком сокет .io-client, который можно установить следующим образом:
bower install sio-client --save
или для использования в целях развития:
bower install sio-client --save-dev
ссылка на repo
Ответ 8
если вы используете https://github.com/btford/angular-socket-io убедитесь, что ваш index.html выглядит следующим образом:
<!-- 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>