【问题标题】:Multiple modules within one git repository; only one module needs to be deployed to Heroku一个 git 存储库中的多个模块;只需将一个模块部署到 Heroku
【发布时间】:2015-10-01 16:01:51
【问题描述】:

我有一个项目,目前有 2 个 npm-modules。一个模块将在 Heroku 上运行,而另一个模块将在客户端上运行。这两个模块都是用 Node.js 编写的。现在,它们位于不同的存储库中,但我想将它们放在同一个存储库中。

它们彼此独立,但旨在相互交互,因此我希望将它们放在同一个 repo 中,因为它们是同一个项目的组件。

问题是 Heroku 将所有未被 gitignore 文件忽略的内容推送到 repo 中,但我不希望客户端模块只是放在服务器上。

有没有办法告诉 Heroku 我只想部署一个 npm 模块,而不是另一个?

也许使用 git 子模块或其他方式?

【问题讨论】:

    标签: node.js git heroku github


    【解决方案1】:

    听起来你想打破 12factor 架构 (http://12factor.net/),我不建议这样做。如果模块实际上是独立的,那么它们的源代码应该单独维护,而不是在同一个 repo 中。

    但是,您可以做您想做的事。将要保留的包放入 package.json 的“依赖项”列表中,将另一个包放入 package.json 的“devDependencies”列表中。使用 Heroku 的默认 NPM_CONFIG_PRODUCTION=true 设置,将不会安装“devDependencies”。

    另外,请记住,“在服务器上放置”额外的模块不是问题。除非您 require 模块,否则它不会在运行时影响内存,因此无论文件系统上是否可用,您的应用都会表现相同。

    【讨论】:

    • 我会接受这个答案;最后我把它们分开了。
    猜你喜欢
    • 2014-08-03
    • 1970-01-01
    • 1970-01-01
    • 2017-01-20
    • 1970-01-01
    • 1970-01-01
    • 2022-01-12
    • 1970-01-01
    • 2016-08-28
    相关资源
    最近更新 更多