如何在node.js的node.exe中正确地要求节点模块

最近有一个更新版本的node.js,它支持Windowsnpm

我按照这里的说明我已经在Windows上通过NPM成功安装socket.io(虽然有些失败,如JSDOM)

但是,当我需要模块时,以下情况会失败:

var io = require("socket.io").listen(1234); 

并且

 var io = require("./lib/node_modules/socket.io/index.js").listen(1234); 

其中显示“无法find模块”socket.io“

但是这个工作:

 var io = require('/NodeDev/lib/node_modules/socket.io/index.js').listen(1234); 

这是我的东西放置在哪里:

文件夹中的socket.io:在D:\ NodeDev \ lib \ node_modules \

node.exe:在D:\ NodeDev \ bin \

我的脚本:在D:\ NodeDev \ TestProject \

在处理Windows中一般可用的包时,我遇到了类似的问题。 它工作时,我直接将包安装到我的项目:

 cd myProject npm install socket.io 

然后它被安装到myProject/node_modules文件夹中。 那时候,做一个require('socket.io')对我来说很合适。