【发布时间】:2020-07-10 12:26:48
【问题描述】:
是否有任何标准/常规方式(包/库、模式等)从 Node.js 中的给定 git 存储库提供某些静态文件的最新版本?
到目前为止,我的想法是在 npm start 处克隆存储库并从那里获取我需要的文件,然后提供一个 webhook 在存储库收到提交时调用,然后拉取更改,以便即使在应用程序运行时文件也会得到更新。
这似乎可行,但我不想重新发明轮子,如果它已经存在的话。如果有一种方法已经相对广为人知,一种传统模式或一个包已经做到了这一点,那么明智的做法是使用它,而不必费心实现细节、修复安全漏洞并使其保持最新状态。
另外,当我们在做这件事的时候,我有什么理由不应该一开始就这样做吗?
编辑:
我可能应该解释一下我为什么要这样做。
我基本上有一个网络应用程序(没什么太复杂的,这里和那里有几条路线),我们称之为example.com,还有一些“自包含网站”(即,出于所有意图和目的可以独立存在的静态文件的集合主网站和彼此)。
我可以将它们分别放在它们的子域中,但这可能意味着使用更多的应用程序实例和时间来提供一些静态文件,所以我想在该应用程序上以它们自己的路径提供这些“子网站” ,如example.com/sub-site1、example.com/sub-site2 等,与主example.com 来自同一应用程序实例,以免产生更高的托管成本。
我还可以修改这些静态网站以将它们包装在 Node.js 包中并将这些包安装在主应用程序中,但我希望它们保持干净、简单、静态文件,与它们所服务的平台无关。
这让我可以选择将一堆文件移动到主应用程序,但我不想在每次更新这些网站时手动重新启动应用程序,或者更糟糕的是,手动更新带有新版本静态文件的主应用程序。
【问题讨论】:
-
我正在开发一个项目,该项目实际上在挂载点上呈现分支/标签/修订版的更新内容。它是基于 FUSE 的。随意试一试:github.com/eantoranz/gitmod
标签: node.js git conventions static-files