javascript - 从文件中定义变量

标签 javascript node.js sails.js

我刚刚发现了 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/

相关文章:

javascript - 如何在 React Context 中实现可观察的值监视

node.js - 如何在 Sails 应用程序中禁用 CSRF?

javascript - 轮播文本对齐

javascript - AJAX 和 PHP/SQL 错误位置的不确定性

c# - knockout 排序似乎没有做任何事情

node.js - S3 存储桶 Lambda 事件 : Unable to validate the following destination configurations

node.js - Redis 服务重启时出现 Redis 错误 "NOSCRIPT No matching script. Please use EVAL"

javascript - 将数字从字符串替换为对象

javascript - Sails.js 文件上传 - 在上传实际完成之前销毁执行的 req.body 和 .upload() 回调

javascript - sails.hooks.views.render local 未定义