Meteor的源代码向客户开放?

use*_*594 12 meteor

从一般的一瞥看来,由于"写一个Javascript文件,一次在客户端和服务器上运行"主题,Meteor app的源代码似乎对客户开放.

如果特定应用程序的服务器端源代码向客户端开放,随机人员复制它们并创建非常相似的应用程序会不容易?

对于有恶意目的的人来说,在应用程序中找到安全漏洞并不容易,因为它的服务器端代码对公众开放?

例如,在Meteor 0.5.0 的派对应用新示例中,model.js文件似乎也被发送到客户端.

我在这里误解了什么吗?

编辑

这是我不理解的部分.

根据http://docs.meteor.com/#structuringyourapp,

客户端和服务器子目录之外的文件都加载到客户端和服务器上!这是模型定义和其他功能的地方

我真的不明白.如果将每个模型实现(包括数据库交互)发送到客户端,那么应用程序的安全性会不那么安全并且很容易被其他开发人员复制?

Tom*_*man 9

server/文件夹中的任何代码都不会发送到客户端(请参阅http://docs.meteor.com/#structuringyourapp)

编辑

关于第二部分:

任何不在代码中的代码client/或者server/是您希望在客户端和服务器端运行的代码.显然它必须发送给客户端.

您将模型代码放在那里的原因是因为延迟补偿.如果您想对数据进行更新,最好立即在客户端进行更新,然后运行相同的代码服务器端以实现"提交".有许多例子,这是有道理的.

如果存在您不想运行客户端的"秘密"模型代码,您当然可以拥有第二个server/models.js文件.