定义一个文件的variables

我刚刚发现了一个Node.js的MVC框架Sails.js。 一个控制器是一个文件谁导出一个对象关联一个方法名称function,如下所示:

module.exports = { method : function(req, res) { /* ... */ }, } 

但是,在这些函数中,我们可以使用其他文件中定义的模型,在函数中使用这种模型:

 method: function(req, res) { Message.create(/* ... */); } 

Messagevariables没有在文件中定义,在文件的顶部没有require() ,那么怎么做呢?

Sails.js有很多“automagic”正在进行之中。 默认情况下,sails会将模型,适配器和服务公开给控制器模块的全局上下文:

https://github.com/balderdashy/sails/blob/master/lib/configuration/defaults.js#L57 https://github.com/balderdashy/sails/blob/master/lib/app/exposeGlobals.js

如果你不喜欢这个(你不应该因为我们都知道全局variables是邪恶的),那么你可以通过configurationclosures它,然后手动从正确的目录中请求模型。