如何在开源应用程序中打包或声明Javascript依赖项?

Mar*_*cus 9 perl jquery open-source github

我有一个Web应用程序,包括前端和后端代码,我想推送到github,但是,它目前有一些依赖项管理它的源代码树.后端代码是Perl,并且很好地理解了CPAN的安装模块依赖性,所以我没有那些.我主要有jQuery库和一些其他开源的Javascript库.

-mycode
-mydir
   -mycode
   -jquerylibs (with their license)
   -mycode
   -jslibs     (with their own licenses)
-mycode
Run Code Online (Sandbox Code Playgroud)

对于部署,这非常方便,因为我可以控制正在使用哪些版本的库,也不会强迫人们使用CDN(内容交付网络)从远程域加载jQuery等,这可能仍然不在线在三五年内.

但是,即使我包含许可证文件,我也不确定将其他项目的源包含在我的应用程序中是否合适.

在开源Web应用程序中包含这样的依赖项的最佳方法是什么,在保持工作部署的便利性的同时尊重依赖项?

Joe*_*hon 0

没有什么会永远存在——我认为你在这里试图回答的问题是如何进行设置,以便真相来源能够在依赖于它们的代码的生命周期中持续存在。

如果只有几件事并且您依赖于特定版本,那么将源代码包含在树中是完全合理的。

作为替代方案,既然您无论如何都要推送到 GitHub,也许您可​​以分叉必要的先决条件,为您的应用程序适当地标记它们,然后将它们作为 Git 子模块包含在内。这样,它们的存在时间至少与主应用程序源代码的规范事实来源一样长。

如果它们现在不在 GitHub 上,但是开源的,那么您自己将它们添加到 GitHub,然后将这些新的 GitHub 存储库作为子模块添加到您的项目中仍然是合理的。