【问题标题】:Why does bower not install socket.io.js file?为什么 bower 不安装 socket.io.js 文件?
【发布时间】:2015-04-19 01:52:19
【问题描述】:

当我运行bower install socket.io bower 时安装得很好,但是在查看已安装的文件时没有 socket.io.js 文件。问题是当我尝试在我的项目中使用 bower 组件作为依赖项时,我可以't 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”不是 找到了

【问题讨论】:

    标签: socket.io bower bower-install


    【解决方案1】:

    通过阅读入门指南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 对象。

    希望对你有帮助

    【讨论】:

    • 再次出现问题是需要查找 socket.io-client.js 文件而不是 socket.io.js 文件。我现在正在做的只是需要确切的文件在 bower_components require('./../../bower_components/socket.io-client/socket.io.js') 中似乎正确导入了它。我很失望我必须要求确切的路径,因为它们的文件名与其文件夹不同(与其他所有 Bower js 文件不同)
    猜你喜欢
    • 1970-01-01
    • 2012-11-16
    • 2015-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多