[英]MongoJS Node.js modules:“db is not undefined”
我是Node.js,MongoDB和MongoJS的新手。
我有app.js
,这是我从命令行使用node app.js
运行的服务器。 在具有Node.js v0.10.28的OS X 10.9.1的本地计算机上。
在app.js
我有(作为摘要)
var db = require('./database');
var blog = require('./classes/blog');
和database.js
有
var db = require("mongojs");
db.connect('mydb', ["Users", "Posts"]);
和/classes/blog.js
有
function load(OnDone) {
if (db.connected) {
OnDone();
}
}
当我调用blog.load()
ReferenceError: db is not defined
at Object.load (node/classes/blog.js:13:6)
at node/app.js:36:7
at Server.onRequest (node/server.js:35:12)
at Server.EventEmitter.emit (events.js:98:17)
at HTTPParser.parser.onIncoming (http.js:2108:12)
at HTTPParser.parserOnHeadersComplete [as onHeadersComplete] (http.js:121:23)
at Socket.socket.ondata (http.js:1966:22)
at TCP.onread (net.js:527:27)
应用程序中的所有内容均按预期工作,但当我尝试调用使用我以为在app.js
声明的db
var的load()
函数时除外 。
为什么db
是未定义的? 我使用的模块错了吗?
注意:如果您不知道,我从脚本中提取了这些代码行,因为到目前为止我的应用程序对SO问题的需求相对较长,除非希望,否则我不希望全部显示。
我相信其中包含Node.js模块,因此无法访问其父级中定义的变量(如我假设的那样)。
我将db
移到了全局名称空间(我删除了var
),并且现在可以正常工作了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.