适用于socket.io 0.7的文件?

时间:2011-07-02 05:09:45

标签: socket.io

我正在使用node.js和socket.io开发一些东西,但是为了方便起见,我正在Windows上做我的本地开发。 socket.io的安装说明只需执行npm install socket.io。这对我的linux环境很好,我猜测节点只会在模块中找到它。但在Windows上我不知道该怎么做。我以某种方式使0.6版工作正常,设法找到我需要的文件。

现在,看起来我需要两组文件,一组用于服务器端,一组用于客户端。在github,socket.io和socket.io-client上还有两个repos。所以我试图从那里下载我需要的所有文件。问题是服务器一个引用客户端一个,但socket.io-client文件不在服务器repo中。如果我将服务器文件放入并在我的节点服务器中引用它们,它会在启动时崩溃,说Cannot find module 'socket.io-client'

tl; dr 如果我只是将文件复制到我的项目目录中,而不是进行npm安装,那么运行socket.io版本0.7的正确文件结构是什么?

2 个答案:

答案 0 :(得分:1)

这里有同样的问题,我也没有使用NPM。但与Windows无关:我在Ubuntu上有同样的问题。

您还需要在node_modules路径中或者保留服务器端socket.io模块的地方使用socket.io-client模块。

答案 1 :(得分:0)

为了解决类似问题,我创建了一个跑步者脚本,只需根据需要设置NODE_PATH env变量,然后执行我的脚本。我还在项目的node_modules子目录中放置了自己的模块(或者我不想通过npm安装的模块)。这里有一个更好的解释http://www.bennadel.com/blog/2169-Where-Does-Node-js-And-Require-Look-For-Modules-.htm

#!/bin/sh

export NODE_ENV=development

if [ "${NODE_PATH}" = "" ]; then
  export NODE_PATH=$(npm -g root 2>/dev/null)
fi

node ${1}