在非Meteor网页中嵌入一个Meteor应用程序

4
我正在尝试将托管在服务器(A)上的Meteor应用程序(a)嵌入到运行在Web服务器(B)上的网页(b)中(在我的情况下,Meteor应用程序正在meteor.com上运行,而网页(b)是基于Drupal构建的,并托管在另一台运行nginx和php的服务器上)。我找到了以下可能的解决方案,但没有一个能很好地工作或优雅。
  • 将应用程序(a)插入网页(b)中的iframe中:集成效果不好,解决方案很笨拙。
  • 将编译后的Meteor应用程序js脚本添加到网页(b)中,并提供必要的meteor_runtime_config,指示应用程序连接到服务器(A):这个方法可行并且应用程序已经嵌入,我可以访问Meteor js对象,但是应用程序被渲染包裹在<html><body>标签中,所以它并没有太多用处,因为我不能真正地将其定位在页面上。而且感觉像是在与Meteor斗争而不是与之协作。
  • 通过DDP客户端(如https://github.com/eddflrs/meteor-ddp)连接到Meteor服务器:虽然这提供了大部分Meteor实时数据传输功能,但感觉好像并没有真正使用Meteor,因为我必须在网页(b)中实现所有js逻辑,并让Meteor只处理数据传输。

有没有其他的解决方案或者改进之前提到的任意一种的方法?这真的可能吗,还是我试图以不是它设计的方式使用meteor? 我在github上看到过“我们支持将Meteor内容嵌入非Meteor内容”https://github.com/meteor/meteor/issues/546#issuecomment-11458672,但这实际上意味着什么?


1
你有没有想出一个解决方案来解决这个问题?即使你没有,我也很想知道为什么没有,这会节省我很多时间。 - Lawrence Weru
1
我最终使用DDP js客户端构建了js代码,这基本上抵消了Meteor的响应式魔法的使用,但至少我保留了DDP实时内容更新。我不确定Meteor在这个问题上的现状,因为我已经有一年没有再使用它了,所以也许情况已经改变了。 - Chris Roditis
1个回答

6

GitHub的参考资料与此无关。它讨论在Meteor应用程序中集成第三方小部件。

你应该查看meteor-talk谷歌组的这个主题这个主题

基本上,你的假设是正确的。目前,Meteor不是构建嵌入其他地方的小部件最令人愉快的解决方案。

此外,从外部域嵌入资源存在安全问题和后果。

我实际上会查看FirebaseAPISpark,它们为任何JavaScript前端提供了简单的后端。但这需要自己连接前端代码,正如你已经指出的那样。但比DDP更容易。


感谢提供的链接和建议,我并不介意从头开始创建前端,只是不想为响应式等概念重新发明轮子。DDP非常容易使用,而且我正在设置自己的基础设施,所以我认为这是目前最好的解决方案。 - Chris Roditis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接