我目前正在使用javascript开发一个网站项目。我无法调用使用socket.io
安装的npm install socket.io
模块。
我试图在HTML脚本中使用它:
<script src="/socket.io/socket.io.js"></script>
但是我收到了一个错误,显然是因为找不到该模块。
我找不到在互联网上安装它的任何其他方法。有谁知道避免这种问题的方法?
答案 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依赖项来运行项目。为此:
alias npm-exec='PATH=$(npm bin):$PATH'
npm-exec
之前运行所有npm命令以使用本地节点模块npm-exec npm build