Почему bower не устанавливает файл socket.io.js?

Когда я бегу bower install socket.io bower устанавливается просто отлично, но при просмотре установленного файла нет файла socket.io.js.. проблема в том, что при попытке использовать компоненты bower в качестве зависимостей в моем проекте я не могу require('socket.io') (используя debowerify), потому что его ищут bower_components/socket.io/socket.io.js

Кто-нибудь знает, почему это происходит и что мне нужно сделать, чтобы это исправить?

это то, что bower устанавливает socket.io устанавливает

я получаю сообщение об ошибке

Ошибка: модуль "./../../bower_components/socket.io/socket.io.js" не найден

1 ответ

Решение

Из руководства по началу работы http://socket.io/docs/ есть два компонента для socket.io, каждый для кода на стороне сервера и на стороне клиента.

Код на стороне клиента можно установить отдельно здесь https://www.npmjs.com/package/socket.io-client и он дает нам подсказку о том, что происходит...

Из вышесказанного нам говорят

Автономная сборка socket.io-клиента автоматически предоставляется сервером socket.io как /socket.io/socket.io.js

Так что это немного волшебства, которое позволяет получить доступ к коду на стороне клиента через код на стороне сервера, который, я думаю, объяснил бы расхождения тем, что мы видим в папке bower_components после установки.

В случае приложения узла, использующего Express, вы можете ссылаться на socket.io.js на html на стороне клиента, просто включив его <script src="socket.io.js"></script> а затем сделав ссылку предположительно глобальным io объект, который представлен этим.

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

Другие вопросы по тегам