Npm安装成功,但nodejs无法find模块“数据库”

这个错误非常常见,但是我search了很多类似的问题,但是我没有find解决问题的方法。 我使用“npm install db”安装了模块,没有任何问题。

“server.js”与“node_moludes”位于同一文件夹中,NPM在“node_moludes”中创build了一个包含所有内容的“db”文件夹。

所有NPM命令都返回成功(安装,链接,列表等),我甚至将模块添加到我的“package.json”中,并且使用“npm install -d”安装也没有问题。

尽pipe如此,当我运行服务器时,Nodejs找不到'db'模块…有什么帮助吗?

nodejs版本:0.10.26

npm版本:1.4.3

server.js

var http = require('http'), url = require('url'), db = require('db'); var send = function(response, data){ response.writeHead(200, { 'Content-Type': 'text/plain', 'Access-Control-Allow-Origin': '*' }); response.end(JSON.stringify({data: data})); }; http.createServer(function (request, response) { var query = url.parse(request.url, true).query; if(query.set) { db.set(query.set, query.val || ''); send(response, true); } else if (query.get) { db.get(query.get, function(data){ send(response, data); }); } else send(response, query); }).listen(80); 

的package.json

 { "name": "xxxxx", "version": "0.0.1", "author": "rafaelcastrocouto", "repository": "git://github.com/rafaelcastrocouto/xxxxx", "dependencies": { "db": ">= 1.00.x" }, "engine": "node >= 0.10.x" } 

看来db模块的设置没有遵循一些Node.js规范 。 它不包含index.*文件,或者在其package.json指定一个"main"设置,否则指向Node。

您应该能够直接引用包中的主文件:

 var db = require('db/db');