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

Yeh*_*rov 4 html javascript meteor

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

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

我看了这个 - Meteor 中的路由是否在服务器和客户端之间传输 HTML?- 在那边回答者写道:

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

那么我的问题是,如果视图被发送过来,那不是 HTML 吗?

我的假设是(粗略地说,我还不是那么博学):

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

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

任何有帮助的东西都非常感谢。

Fre*_*ark 5

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

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

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

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