是否有一种标准方法可以使用 Node.js 从 git 存储库提供最新版本的静态文件?

Is there a standard way to serve latest version of static files from a git repository with Node.js?

是否有任何 standard/conventional 方式(package/library、模式等)从给定的 git 存储库中提供一些静态文件的最新版本Node.js?

到目前为止,我的想法是 在 npm start 克隆存储库,然后 从那里获取我需要的文件,然后 提供一个 webhook 以在存储库收到提交 时调用,然后拉取更改 以便即使应用程序 运行.

文件也会更新

这似乎可行,但我不想重新发明轮子,如果它已经存在的话。如果有一种已经相对广为人知的方法、一种传统模式或一个已经这样做的包,那么使用它是明智的,而不是费心实施细节、修复安全漏洞并保持最新。

另外,当我们在做的时候,有什么理由让我一开始就不应该这样做吗?

编辑:
我应该解释一下我为什么要这样做。
我基本上有一个网络应用程序(没什么太复杂,这里和那里有几条路线),我们称之为 example.com,以及一些“自包含站点”(即出于所有意图和目的的静态文件集合可以存在独立于主网站和彼此)。

我可以将它们分别放在它们的子域中,但这可能意味着使用更多的应用程序实例和时间来提供一些静态文件,所以我想在它们自己的路径上为这些“子网站”提供服务该应用程序,如 example.com/sub-site1example.com/sub-site2 等,来自与主 example.com 相同的应用程序实例,以免产生更高的托管成本。

我还可以修改那些静态网站,将它们包装在 Node.js 包中,并将这些包安装到主应用程序中,但我想让它们保持干净、简单、静态文件,与它们所在的平台无关服务于。

这让我可以选择将一堆文件移动到主应用程序,但我不想每次更新这些站点中的任何一个时都手动重新启动应用程序,或者更糟糕的是,手动更新存储库主应用程序的新版本静态文件。

Is there any standard/conventional way (package/library, pattern, etc.) to serve the latest version of some static files from a given git repository in Node.js?

这种任务没有标准。最好的方法是使用官方 Github SDK,因为有一个 getContent 方法可用于此目的。

Also, while we are on it, are there reasons why I should not do this in the first place?

可以删除 Github 存储库,但不能删除 npm 包(因此有 unpublish policy)。 我不知道您的用例,但这些文件对您的应用程序至关重要? 如果是这样,像这样依赖于一个短暂的存储库是有风险的:你可以使用 Github action

进行分叉并使分叉保持最新