具有相同后端的多个流星应用程序

问题描述:

我是一名高中生,试图为我的学校为不同目的创建网络应用程序的网络。我使用React on Meteor,但我不知道构建这些应用程序的最佳方法是什么。这些应用程序使用相同的用户帐户,如果已经登录到此网络中的其他应用程序,它们将能够自动登录。我还需要为每个小应用程序构建管理应用程序。具有相同后端的多个流星应用程序

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

你会如何推荐我构建这些应用程序?非常感谢!

你是对的。一个Meteor应用程序将成为后端,其他Meteor应用程序将成为您的主应用程序的客户端。 DDP是要走的路。一旦使用DDP将客户端连接到服务器应用程序,您的前端的行为就好像您的两个应用程序是同一个应用程序一样。它工作得很好。

这里是DDP.connect(URL)DOC:here

这是从官方Meteor guide

共享数据 另一个重要的考虑是如何将你不同的之间共享数据应用。

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

但是,在某些情况下,最好允许一个应用程序通过API作为主控制器访问其他应用程序的数据。如果您想要按不同的时间表部署不同的应用程序,并且需要保持数据更改的方式,这可以提供帮助。

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

+0

非常感谢你的回答!它帮助我很多。 – Leo

+0

我只是有一个后续问题:如果我要在这些客户端应用程序之一上对数据库进行更改,请使用Meteor方法执行这些操作吗? (因为我没有直接访问数据库,但只有DDP) – Leo

+0

是的,你必须使用方法。始终使用方法在Meteor中插入或更新数据库。 –