Sails.js 在module.exports外部引用sails配置

Sails.js 在module.exports外部引用sails配置,sails.js,Sails.js,如何在module.exports之外使用sails.config?我试图将sails.config变量传递给另一个对象,如下所示 var foo = new Foo(sails.config.myconf.myVar); module.exports { bar : function(){ // Use foo here foo.blah(); } }; (同样的问题也在这里的一条评论中提出,请参见@jreptak comment)你不能这样做,如果你想访问sail

如何在module.exports之外使用sails.config?我试图将sails.config变量传递给另一个对象,如下所示

var foo = new Foo(sails.config.myconf.myVar);

module.exports {
  bar : function(){
    // Use foo here
    foo.blah();
  }
};

(同样的问题也在这里的一条评论中提出,请参见@jreptak comment)

你不能这样做,如果你想访问
sails.config
参数,你必须创建一个自定义钩子并在其中发挥“魔力”

sails config的每个文件都是一个模块,如果你想使用它,你只需要导入它

下面是导入
Sails.config.connections
模块的Sails连接的示例。
注意
要求中模块的路径,它必须是相对的。

var connections=require('../../config/connections');

这在Sails v0.9中是不可能的。然而,这在Sails v0.10以后的版本中是可能的

以下是github的具体问题:

现在你可以这样做:

//MyService.js
var client = new Client(sails.config.client);
module.exports = {
   myMethod: function(callback){
      client.doSomething();
   }
}
如果您一直使用Sails v0.9,我建议您遵循github问题中指定的解决方法:

 //MyService.js
var client;
module.exports = function(){
  client = client || new Client(sails.config.client);
  return {
    myMethod: function(){
      client.doSomething();
    }
  }
}
可以这样使用:

//SomeController.js
module.exports = {
   list: function(req,res){
      MyService().myMethod();
   }
}