【问题标题】:Share JavaScript files among different servers在不同服务器之间共享 JavaScript 文件
【发布时间】:2019-05-29 02:43:06
【问题描述】:

我有几个 Node 应用程序,每个应用程序都托管在不同的容器(Heroku dyno)中。所有应用程序都使用相同的 mongo 模型,因此当我更改模型时,我必须为每个应用程序更改它。我想知道是否有办法在我的所有应用程序之间共享模型文件。

我曾考虑将模型文件托管在不同的容器中,然后将它们提供给应用程序使用,但我不知道该怎么做。

更笼统地说,我如何在不同的容器/服务器之间共享 JavaScript 文件?这是解决这个问题的最佳方法吗?

谢谢!

【问题讨论】:

  • 我认为你有一个包含所有 mongodb 模型的仓库。每当更新该存储库时,您都可以触发依赖存储库的构建

标签: node.js mongodb


【解决方案1】:

首先将您的通用 model 代码放入本地 npm 模块中,如 Installing a local module using npm? 中,然后正常构建和部署您的图像。

【讨论】:

  • 我想回答这个问题,但是……“其他人?”我认为这是一个代码问题。你是什​​么意思“其他人得到更新”?也许你原来的问题应该有更多的细节。我认为这里涉及到 docker 对吗?你的意思是修改一个文件,然后让多个服务器上的容器在不重建和重新部署容器的情况下获取更改?
  • 如果我的问题不清楚,我很抱歉。假设我正在开发一个新功能,这需要我修改一个模型。现在,我必须加载我的每个应用程序项目,更改模型并推送它,这有点烦人。因此,我试图找到一种方法,以便当我在特定项目中更改模型并将其推送时,该更改会自动应用于使用相同模型的其他应用程序。
  • 看来我可以按照您的建议创建一个 npm 模块,将其托管在 git repo 上,然后使其成为我所有应用项目的依赖项。
  • 如果您愿意重建 docker 映像并重新部署以实现此目的,或者您是否正在寻找运行时解决方案,则不是 100% 清楚。我最初只是描述如何设置代码依赖项。我假设您在进行更改时会重建 docker 映像并重新部署应用程序。
  • 您不需要在任何特殊的地方托管共享的 npm 模块。只需使用相对于您的应用程序目录的文件。如果您有/myproject/myapp1/package.json/myproject/myapp2/package.json,您可以创建/myproject/sharedstuff/package.json 并从/myproject/myapp1/ 执行npm install ../sharedstuff,然后重复myapp2。我提供的链接描述了如何做的细节。同样,假设您在对模型(共享或其他方式)进行代码更改时愿意重建和重新部署。如果我错了,请纠正我。
猜你喜欢
  • 1970-01-01
  • 2018-12-29
  • 2017-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多