Где находится библиотека клиентов socket.io?

Насколько я понял, нет никаких объяснений относительно того, где мы должны найти клиентскую сторону script для socket.io, если node.js не используется в качестве веб-сервера. Я нашел целый каталог файлов на стороне клиента, но мне они нужны в комбинированной версии (например, она использовалась при использовании веб-серверов node.js). Любые идеи?

Ответ 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>