我刚刚发现了 Sails.js,这是一个 Node.js 的 MVC 框架。 Controller 是一个导出将方法名称与函数关联的对象的文件,如下所示:
module.exports = {
method : function(req, res) {
/* ... */
},
}
但是,在这些函数中,我们可以使用在其他文件中定义的模型,在函数中像这样使用:
method: function(req, res) {
Message.create(/* ... */);
}
文件中没有定义Message
变量,文件顶部也没有require()
,那么如何做到这一点?
最佳答案
Sails.js 在幕后有很多“自动魔法”。默认情况下,sails 会将模型、适配器和服务公开给 Controller 模块的全局上下文:
https://github.com/balderdashy/sails/blob/master/lib/configuration/defaults.js#L57 https://github.com/balderdashy/sails/blob/master/lib/app/exposeGlobals.js
如果您不喜欢这个(您不应该这样做,因为我们都知道全局变量是邪恶的),那么您可以通过配置将其关闭,并手动从正确的目录中获取模型。
关于javascript - 从文件中定义变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20431215/