是否有任何标准/常规的方式(包/库,模式等)来为Node.js中给定git存储库中的一些静态文件的最新版本提供服务?
到目前为止,我的想法是克隆npm start的存储库,从那里获取我需要的文件,并提供一个webhook,当存储库接收到提交时调用,然后提取更改,这样即使在应用程序运行时,文件也会得到更新。
这似乎可以工作,但我不想重新发明轮子,如果它已经存在。 如果有一种已经相对众所周知的方法,一种常规模式或一个已经做到这一点的包,那么使用它将是明智的,而不必费心实现细节,修复安全漏洞并使其保持最新。
还有,当我们在上面的时候,有没有理由让我一开始就不应该这样做呢?
编辑:
我应该解释一下我为什么要这样做。
我基本上有一个web应用程序(没什么太复杂的,到处都有几条路由),让我们称之为example.com
,还有几个“自包含的站点”(即静态文件的集合,它们可以独立于主网站并且彼此独立)。
我可以将它们分别放在各自的子域中,但这可能意味着使用更多的应用程序实例和时间来仅仅服务一些静态文件,因此我希望在该应用程序上以它们自己的路径服务这些“子网站”,例如example.com/sub-site1
,example.com/sub-site2
等,从与主example.com
相同的应用程序实例中服务,以避免产生更高的托管成本。
我也可以修改这些静态网站,将它们包装在node.js包中,并将这些包安装在主应用程序中,但我希望它们保持干净,简单,静态的文件,不知道它们所使用的平台。
这让我可以选择将一堆文件移动到主应用程序中,但我不想在每次更新任何一个站点时手动重启应用程序,或者更糟的是,手动用新版本的静态文件更新主应用程序的存储库。
是否有任何标准/常规的方式(包/库,模式等)来为Node.js中给定git存储库中的一些静态文件的最新版本提供服务?
这种任务没有标准。 最好的方法是使用官方的Github SDK,因为有一个用于此目的的getContent
方法。
还有,当我们在上面的时候,有没有理由让我一开始就不应该这样做呢?
可以删除Github存储库,但不能删除npm
包(为此有一个取消发布策略)。 我不知道你的用例,但是那些文件对你的应用程序来说是至关重要的? 如果是这样,那么像这样依赖于一个短暂的存储库是有风险的:您可以通过Github操作进行派生并保持派生的最新状态