【发布时间】:2013-02-27 23:38:47
【问题描述】:
根据this 视频,meteor 方法应该定义在客户端和服务器上可用的models.js 文件中。
如果方法应该是客户端在服务器上调用的安全过程,为什么在 models.js 文件中定义它们?客户端使用 Meteor.call 调用方法,那么在服务端而不是在 models.js 中定义我们的方法不是很有意义吗?
【问题讨论】:
标签: meteor
根据this 视频,meteor 方法应该定义在客户端和服务器上可用的models.js 文件中。
如果方法应该是客户端在服务器上调用的安全过程,为什么在 models.js 文件中定义它们?客户端使用 Meteor.call 调用方法,那么在服务端而不是在 models.js 中定义我们的方法不是很有意义吗?
【问题讨论】:
标签: meteor
您不必将方法放在“model.js”文件中,您可以将它们放在任何地方,它们只是在视频中将文件命名为 model.js。
Meteor.methods 是一种“Anywhere”方法,这意味着它可以同时存在于服务器和客户端。如果您查看the docs,您会看到解释的差异:
服务器上的调用方法定义了客户端可以远程调用的函数。
[...]
在客户端调用方法定义了与同名服务器方法关联的存根函数。
在视频中,他们向您展示了 Meteor 的方法和其他功能如何工作的演示,因此他们并不关心具体将方法放置在服务器中。
【讨论】:
您发布的视频只是 Meteor 功能的预告片。这不是教程。 documentation 解释了方法的工作原理。对于客户端,该方法只会被存根。
如果您使该方法仅在服务器上可用,则该方法将不会被存根。您还应该阅读 Meteor 的concepts。
【讨论】: