Node.js:变量范围和模块闭包

时间:2014-02-19 14:26:06

标签: javascript node.js module require

我仍然无法理解node.js app中变量的范围。在常规javascript中,嵌套函数可以访问其父级的变量。在节点中,情况似乎并非如此。

这里我有app.js文件,其中包含一个变量' bookies'和要求的路线'。我遇到的麻烦是变量' bookie'在我的routes.js文件中不可用。

为什么?

enter image description here

1 个答案:

答案 0 :(得分:2)

如果您想要在路线中定义预定,请务必通过这样的预订:

var routes = require("./routes")(bookie);

这是因为在Node中,顶级范围不是全局范围; Node模块中的var内容将是该模块的本地内容。