【问题标题】:Meteor Host multiple apps on one process (common code base)Meteor 在一个进程上托管多个应用程序(通用代码库)
【发布时间】:2016-02-02 21:39:11
【问题描述】:

我有非常相似的应用程序(90% 共享代码)。我目前对每个应用程序都有不同的模板,并根据 url 将用户引导到不同的入口点。

问题是应用程序 A 的用户还获得了 .js 包中提供的应用程序 B 的所有模板。如果我有 3 个应用程序具有 90% 的公共代码,然后每个应用程序的单个模板有 10% 的重载,这不是问题。但是,从长远来看,这将成为一个问题。

我通常会为每个应用程序运行单独的流星实例以保持捆绑较小,但这使得同步通用的 90% 代码库变得更加困难。

有适合​​我情况的最佳做法吗?

【问题讨论】:

  • 为什么不将通用代码分解成依赖项?
  • 我不确定这对我的情况有多简单/实用。通用代码包括大多数流星组件(方法、路由、大约 100 个包、集合模式、模板、css 等)
  • 那……去一探究竟?

标签: meteor


【解决方案1】:

虽然我也建议使用包系统,但 OP 表示他不想走那条路。一种可能的替代方法是将 Git 的子模块系统用于公共代码: https://git-scm.com/docs/git-submodule

基本上,您有一个 git 存储库,其中包含所有通用代码,并充当具有不同代码的顶级存储库的依赖模块。

【讨论】:

    【解决方案2】:

    我建议你为你的shared code创建包

    创建包的好来源:

    1. https://themeteorchef.com/recipes/writing-a-package/

    2. https://medium.com/@davidjwoody/how-to-write-a-package-for-meteor-js-e5534c6bd3c2#.67eeiu59s

    将共享代码作为包发布后,您可以将它们安装到您的任何应用中。然后,您不仅可以在您的应用 A 或 B 上使用您的共享代码,还可以在任意数量的应用上使用。

    【讨论】:

      猜你喜欢
      • 2019-07-12
      • 1970-01-01
      • 2011-04-14
      • 2018-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多