Node.js引用模块(Moudle)路径问题


我的问题是node.js的包引用机制是怎么样的
如何安装和配置让Moudle可以通过require('xxx')的方式引用
或者说,

   
  console.log(module.paths)
 

时,会引用一个 我希望的公共目录

我操作如下
在Windows里面部署node.js
1、MSI安装在 C:\Program FilesNodejs
2、环境变量PATH配好
node -v 0.6.14
npm --version 1.1.15
3、顺利用git安装npm 到C:\Program Files\nodejs\npm
然后在npm目录 install socket.io
文件应该下载到了 C:\Program Files\nodejs\npm\node_modules
但是测试时 一旦requires某个包
例如

   
  var io = require('socket.io').listen(8080);
 

node D:\www\server.js 就会报错 cannot find moudel "xxx"

我已经尝试
1、在C:\Program Files\nodejs(安装目录)npm install
----增加了一个 C:\Program Files\nodejs\node_modules目录,里面有socket.io,但是报错依然
2、配置环境变量NODE_PATH到 C:\Program Files\nodejs\node_modules
--无变化
3、在程序目录拷贝了一个socket.io
--正常执行通过了
以上操作后,我都console.log(module.paths)了一下,输出的都是程序目录的路径
例如D:\node_modules\ ,D:\www\node_modules 等
如何才能加入 我希望的安装目录(C:\Program Files\nodejs\node_modules)?

node.js windows

人形自走推妹机 12 years, 6 months ago

自己找到答案
在安装时 加上 -g参数,同时配置好NODE_PATH环境变量

-g 全局安装
-d 安装所有依赖项

另外require可以参照node.js手册的《module 》一章,File Modules 章节
http://docs.cnodejs.net/cman/modules....

c4800 answered 12 years, 6 months ago

Your Answer