我想知道如果我只进行服务器端操作,是否必须使用Meteor.methods
,如果没有,那么在哪里放置逻辑。
我发现自己做了很多这样的事情:
Meteor.methods({
someMethod: function () {
if (! this.isSimulation) {
// make third party api call, use node module, etc.
}
}
});
在客户端,我无法对延迟补偿进行第三方API调用,或者使用Npm.require
使用节点模块(假设未使用meteorhacks:npm
)。所以我总是围绕if(! this.isSimulation)
包装这些方法。
但如果我不能使用延迟补偿,似乎没有必要将此逻辑放在方法中。广泛采用的做法是什么?我是否仍然将这些逻辑放在方法中?
答案 0 :(得分:0)
您可以将纯服务器端逻辑声明为位于server
目录下的服务器全局函数。
server/lib/logic.js
serverLogic = function(){
// your server-side only logic
};
然后你可以简单地在服务器环境中的任何地方,方法,集合钩子等中调用你的函数......
server/anywhere.js
serverLogic();