如何在module.exports之外使用sails.config?我试图将sails.config变量传递给另一个对象,如下所示;
var foo = new Foo(sails.config.myconf.myVar);
module.exports {
bar : function(){
// Use foo here
foo.blah();
}
};
(同样的问题也在此Create config variables in sails.js?的评论中提到了@jreptak评论
答案 0 :(得分:1)
Sails配置的每个文件都是一个模块,如果你想使用它,你只需要导入它。
以下是导入sails.config.connections
模块的Sails连接的示例
请注意require
中模块的路径,它必须是相对的。
var connections = require('../../config/connections');
答案 1 :(得分:1)
这在Sails v0.9中是不可能的。但是,现在可以在Sails v0.10以后进行此操作。
以下是github上的具体问题:https://github.com/balderdashy/sails/issues/1672
所以现在你可以这样做:
//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();
}
}
答案 2 :(得分:0)
你不能这样做,如果你想访问sails.config
参数,你必须创建一个自定义钩子http://sailsjs.org/documentation/concepts/extending-sails/hooks并在其中做你的'魔术'