0

我被困在使用带有套接字 IO 的 nodejs。

我使用的是windows机器,下载了Node可执行文件,正确设置了环境变量。

这样我就能够在命令下运行一个简单的节点服务器。

然后我使用 npm install socketio 即使我安装了 socketio(路径为 c:\Aakash\Users\nodemodules....)

现在,当我使用示例代码运行配备套接字的节点服务器时,它会在 socketio js 中引发错误,说“未定义第 1324 行的 indexOf”。

这个错误出现在我写的 server.js 中的行

require("socket.io");

可能是无法执行socket.io。

困惑:1)socketio文件在Users\nodemodules中的某个地方......它将如何在require语句中获取socketio?

2)同样在客户端我需要socket.io.js,也就是在那个Users..目录中,但是在这里我复制了socket.io.js并将它放在clientfile.html附近。

我在socketio的目录结构中做错了吗?客户端文件附近应该包含哪些文件?

我搜索了上述问题,但没有成功。

谢谢。

4

2 回答 2

1

首先

回答1:

1.创建你的项目文件夹(任何地方)

2.在cmd中导航你的项目主管

3.安装socket.io(npm install socket.io)

安装 socket.io 后,您将在项目文件夹中找到 node_module 目录。

回答2:

现在您的客户端将获取 socket.io 文件(只需包含 src='/socket.io/socket.io.js')

你有没有用过这样的东西:

如果您使用http模块,那么

var app = require('http').createServer(handler)
  , 
io = require('socket.io').listen(app)
  , fs = require('fs')

app.listen(1324);

function handler (req, res) {
   // your handler
}

我认为您应该使用express模块了解更多关于socket.io的详细信息

于 2012-06-27T09:11:46.307 回答
0

如果您安装了一个全局模块(npm install module -g),然后您将尝试将其安装在项目的文件夹中(没有 -g),它将不会再次安装,因为它已经安装了。但是,如果没有全局安装它,您可以在多个文件夹中多次安装它。有关节点如何加载模块的更多信息,您可以阅读内容和此内容

于 2013-06-19T08:20:04.633 回答