2017-06-05 50 views
1

对于简单的客户端到服务器Meteor方法调用,我有时会发现额外的抽象是一个烦恼。是否可以内联定义服务器方法?例如,我想换成这样:是否可以内联Meteor服务器方法定义?

// server.js 
Server.methods({ foo: console.log('bar') }) 
// client.js 
Meteor.call('foo') 

有了这个:

client.js 
Meteor.call(() => console.log('bar')) 

根据文档,这是不可能的,因为call需要一个名字。

+0

如果只向客户端提供服务器,你将如何在服务器上运行JS? (即client.js) – zim

回答

5

您只能在客户端上定义方法。由于方法是在服务器上定义的。

https://docs.meteor.com/api/methods.html#Meteor-methods

在服务器上调用的方法定义了可以由远程客户端调用函数。

客户端定义方法(在服务器上定义时)用于方法(UI)仿真。

调用客户端的方法定义具有相同名称的服务器方法相关联的存根功能...

有是流星开发组与工作方法,开发出了大包: https://github.com/meteor/validated-method

相关问题