【问题标题】:multiple meteor apps with same backend具有相同后端的多个流星应用程序
【发布时间】:2017-10-29 23:45:27
【问题描述】:

我是一名高中生,正在尝试为我的学校制作一个用于不同目的的 Web 应用程序网络。我在 Meteor 上使用 React,但我不知道构建这些应用程序的最佳方法是什么。这些应用程序使用相同的用户帐户,如果已经登录到此网络中的另一个应用程序,将能够自动登录。我还需要为每个小应用程序构建管理应用程序。

为了做到这一点,我认为我需要使用 DDP 来连接这些应用程序中的数据?如果是这样,我是否应该制作一个控制用户和数据库的后端 Meteor 应用程序,并将前端 Meteor 应用程序分开用于所有不同的目的?

您会建议我如何构建这些应用程序?非常感谢!

【问题讨论】:

    标签: meteor


    【解决方案1】:

    你是在正确的方式。一个 Meteor 应用程序将成为后端,其他 Meteor 应用程序将成为您的主应用程序的客户端。 DDP是要走的路。使用 DDP 将客户端连接到服务器应用程序后,您的前端就像您的两个应用程序是同一个应用程序一样。效果很好。

    这里是 DDP.connect(url) 文档:here

    来自官方Meteor guide

    共享数据 另一个重要的考虑因素是您将如何在不同应用程序之间共享数据。

    最简单的方法是将两个应用程序指向同一个 MONGO_URL 并允许两个应用程序直接从数据库读取和写入。由于 Meteor 通过数据库支持反应性,这很有效。当一个应用程序更改 MongoDB 中的某些数据时,连接到数据库的任何其他应用程序的用户将立即看到更改,这要归功于 Meteor 的实时查询。

    但是,在某些情况下,最好让一个应用程序成为主应用程序并通过 API 控制其他应用程序对数据的访问。如果您想按不同的计划部署不同的应用程序并且需要对数据的变化方式保持谨慎,这会有所帮助。

    提供服务器-服务器 API 的最简单方法是直接使用 Meteor 内置的 DDP 协议。这与 Meteor 客户端从服务器获取数据的方式相同,但您也可以使用它在不同的应用程序之间进行通信。您可以使用 DDP.connect() 从“客户端”服务器连接到主服务器,然后使用返回的连接对象进行方法调用和从发布中读取。

    【讨论】:

    • 非常感谢您的回答!这对我帮助很大。
    • 我还有一个后续问题:如果我要对这些客户端应用程序之一上的数据库进行更改,我是否可以使用 Meteor 方法进行这些更改? (因为我没有直接访问数据库,只有DDP)
    • 是的,你必须使用方法。始终使用方法在 Meteor 中插入或更新数据库。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-05
    • 2016-10-16
    • 2016-03-06
    • 2016-07-11
    • 2012-10-19
    • 1970-01-01
    • 2021-06-04
    相关资源
    最近更新 更多