当我运行bower install socket.io
bower安装时很好但是在查看已安装的文件时没有socket.io.js文件..问题是当我尝试在我的项目中使用bower组件作为依赖项时我不能require('socket.io')
(使用debowerify)因为它正在寻找bower_components/socket.io/socket.io.js
有谁知道为什么会发生这种情况以及我需要做些什么才能解决这个问题?
this is what bower install socket.io installs
我得到的错误信息是
错误:模块“./../../bower_components/socket.io/socket.io.js”没有 结果
答案 0 :(得分:3)
从完成入门指南http://socket.io/docs/#开始,socket.io有两个组件,每个组件用于服务器和客户端代码。
客户端代码可以从这里https://www.npmjs.com/package/socket.io-client单独安装,它为我们提供了一个关于什么的线索......
从上面我们被告知
socket.io-client的独立版本由socket.io服务器自动公开为/socket.io/socket.io.js
因此,通过服务器端代码访问客户端代码有点神奇,我认为这可以解释我们在安装后的bower_components文件夹中看到的差异。
对于使用express的节点应用程序,您可以在客户端html上引用socket.io.js,只需将其包含在<script src="socket.io.js"></script>
中,然后引用一个可能由引入的全局io
对象。这一点。
希望这有帮助