列出Meteor.methods()注册的流星方法?

Kel*_*ley 15 meteor

想知道是否有办法获得已注册的当前Meteor.methods列表.

例如,如果post方法是这样注册的:

Meteor.methods({
  post: function() {
    //code
  }
});
Run Code Online (Sandbox Code Playgroud)

有没有办法访问这些方法的列表?理想情况下,它将通过一种方法,但如果它存储在一个可访问的变量,如Meteor .__方法,也可以.

我在浏览器中梳理了文档和Meteor全局,但没有找到任何有用的东西.有任何想法吗?

ber*_*ert 15

在客户端上,您可以:

Meteor.connection._methodHandlers
Run Code Online (Sandbox Code Playgroud)

它为您提供函数的函数名称字典.

  • 它没有列出方法. (2认同)

Kel*_*ley 12

在meteor的服务器端挖掘更多内容后,似乎这些方法存储在一个Meteor.default_server.method_handlers可在服务器上访问但不在客户端上访问的数组中.

暴露客户端的唯一方法似乎是注册方法服务器端,然后返回密钥列表.

  • 它没有暴露给客户端,因为这可能会打开潜在的安全漏洞 (2认同)