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



是否有任何标准/传统的方式(包/库、模式等(来提供Node.js中给定git存储库中某些静态文件的最新版本

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

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

此外,当我们讨论这个问题时,有没有理由让我一开始就不这么做?

编辑:
我可能应该解释一下为什么要这样做
我基本上有一个web应用程序(没有太复杂的,有一些路线(,我们称之为example.com,还有一些"自包含站点";(即静态文件的集合,这些静态文件可以独立于主网站和其他网站(。

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

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

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

是否有任何标准/传统的方式(包/库、模式等(来提供Node.js中给定git存储库中某些静态文件的最新版本?

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

此外,当我们在做这件事的时候,有没有理由让我一开始就不这么做?

Github存储库可以删除,但npm包不能删除(因此存在取消发布策略(。我不知道您的用例,但这些文件对您的应用程序至关重要?如果是这样的话,像这样依赖于一个短暂的存储库是有风险的:你可以通过Github操作来分叉并保持分叉的最新状态

最新更新