找不到sockets.io.js模块

时间:2018-11-02 10:37:20

标签: javascript html socket.io

我目前正在使用javascript开发一个网站项目。我无法调用使用socket.io安装的npm install socket.io模块。

我试图在HTML脚本中使用它:

<script src="/socket.io/socket.io.js"></script> 

但是我收到了一个错误,显然是因为找不到该模块。

我找不到在互联网上安装它的任何其他方法。有谁知道避免这种问题的方法?

2 个答案:

答案 0 :(得分:0)

执行npm install socket.io时, socked.io 库将安装到名为 node_modules 的特殊目录中。

在您的HTML文件中,您试图从一个路径中加载该库,该路径希望该库位于服务器的公共文档目录中名为socket.io的子目录中。

您有三个选择:

  • socket.io库复制到服务器可以在其中服务并且浏览器可以找到它的目录

  • 调整脚本标记中的路径以指向node_modules/socket.io

  • 从CDN加载socket.io,例如:

    <script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.1.1/socket.io.js"></script>

我推荐第三种选择。

答案 1 :(得分:0)

您可以使用-g参数进行全局安装:

npm install -g socket.io

如果您不想执行上述操作,则需要使用本地node_modules依赖项来运行项目。为此:

  1. 在〜/ .bashrc alias npm-exec='PATH=$(npm bin):$PATH'
  2. 中添加以下别名
  3. 通过在前缀npm-exec之前运行所有npm命令以使用本地节点模块
  4. 示例:npm-exec npm build