在Meteor中,“线上数据”是什么意思?

时间:2018-01-30 00:41:28

标签: javascript html meteor

简而言之:“电线上的数据”是什么意思。它与发送的HTML有什么不同?当服务器没有发送HTML时会发生什么?

  

Meteor使用线路上的数据,这意味着服务器发送数据而不是HTML,客户端会呈现数据。 - https://guide.meteor.com/

我看着这个 - Does routing in Meteor transfer HTML between server and client? - 然后在那里,回答者写道:

  

“最初传输所有应用程序视图,因此客户端路由只是根据当前URL呈现适当的模板,没有执行额外的HTTP请求来获取服务器端呈现的HTML,就像传统LAMP中的情况一样(或者任何其他基于SSR的堆栈网站“

然后我的问题是,是否发送了一个视图不是那个HTML?

我的假设是(粗略地说,我不是那个知识渊博的):

通常,如果我使用URL请求资源,服务器会找到相应的文件并将该HTML发送给客户端。

通过“线上数据”,服务器已经发送了所有文件。当您使用URL提交请求时,一开始就来自服务器的客户端数据已经知道如何处理URL,组装一段HTML供您查看。

非常感谢任何有用的东西。

1 个答案:

答案 0 :(得分:3)

电线上的数据主要指Meteor在页面加载时与服务器形成websocket连接的方式,然后传输通过该连接所需的数据。

websocket是一个实时连接,随着数据的变化,更新会自动通过网络推送,客户端会实时更新。 (类似于有多少人可以在Google文档中同时编辑同一文档,并实时查看彼此的变化)

这是使用出版物和订阅完成的。一旦客户订阅了数据源,服务器将发送与出版物匹配的所有文档。然后,服务器将监视该更改源,并将任何新的匹配文档,更新或删除现有文档发送给客户端

你几乎正确地说HTML是在初始请求中发送的。 Meteor旨在使用客户端渲染框架(如React,Vue,Angular和Blaze)运行,尽管它也可以执行静态HTML。对于客户端渲染框架,Meteor将发送一个几乎空的HTML文档和一个javascript包,其中包含有关如何请求所需数据的信息,并根据返回的数据构建其余的HTML