Javascript 我是否必须对仅服务器端逻辑使用方法?
我想知道如果我只做服务器端操作,是否必须使用Meteor.methods,如果不是,逻辑放在哪里 我发现自己经常这样做:Javascript 我是否必须对仅服务器端逻辑使用方法?,javascript,meteor,Javascript,Meteor,我想知道如果我只做服务器端操作,是否必须使用Meteor.methods,如果不是,逻辑放在哪里 我发现自己经常这样做: Meteor.methods({ someMethod: function () { if (! this.isSimulation) { // make third party api call, use node module, etc. } } }); 在客户端,我不能调用第三方API来补偿延迟,也不能使用节点模块使用Npm.req
Meteor.methods({
someMethod: function () {
if (! this.isSimulation) {
// make third party api call, use node module, etc.
}
}
});
在客户端,我不能调用第三方API来补偿延迟,也不能使用节点模块使用Npm.require
(假设不使用meteorhacks:Npm
)。所以我总是将这些方法包装在if(!this.isSimulation)
周围
但是,如果我不能使用延迟补偿,那么似乎没有必要将此逻辑放在方法中。广泛采用的做法是什么?我是否仍将这些逻辑放在方法中?您可以将纯服务器端逻辑声明为位于
服务器
目录下的服务器全局函数
server/lib/logic.js
serverLogic = function(){
// your server-side only logic
};
serverLogic();
然后,您可以在服务器环境中的任何位置,在方法、收集挂钩等内部调用您的函数
server/anywhere.js
serverLogic = function(){
// your server-side only logic
};
serverLogic();