当disabling globals文档建议使用以下替代方法时:
是否有任何问题需要"帆","服务"和"模型"和其他模块一样吗?
尝试过它,看起来似乎有效,但我觉得我可能会遗漏一些东西。
答案 0 :(得分:0)
将require
用于服务始终有效;全球化仅仅是为了方便。
另一方面,执行require('api/models/User.js')
几乎肯定会不给你你想要的东西,因为Sails使用这些文件来构建模型类。因此,在没有全局变量的情况下在Sails中可靠地使用模型的唯一方法是通过sails.models
。
最后,虽然require('sails')
通常会为您提供正在运行的Sails应用程序的引用,但不建议您以这种方式使用它。如果您在同一进程中运行多个Sails应用程序(您可能在自动化测试中执行),那么它将无法可靠地返回正确的应用程序。您最好在控制器中使用req._sails
,在模型和服务中使用this.sails
。