对于d3或任何一般的javascript包,具有完整源代码(例如,d3.v3.js)的js文件和它的github repo之间有什么区别(在d3的情况下,它是https://github.com/mbostock/d3)。
github repo包含整个源代码的含义是什么?
我在Scott Murray的教程中读到D3存储库包含"所有组件源代码"。有人可以解释'组件'
的含义答案 0 :(得分:1)
让我们来看看Whatever库。它做任何事情。它的回购位于https://github.com/someone/whatever.js
(这不是真正的回购)。
repo本身通常包含各种信息,包括文档,样式指南和代码组织。 Whatever.js实际上由三个文件组成:lib/whatever.js
,lib/whatever-tools.js
和lib/whatever-xml.js
。这些被连接起来供实际使用,但是对于whatever.js本身的开发,使用单独的文件更容易。
只需处理一个文件提交就绝对是可怕的。拉请求会更糟。
分布式版本,即whatever.js
和whatever.min.js
,是一个版本的回购代码,但需要处理它。在大多数库的情况下,文件只是连接在一起,但对于某些库来说,奇特的事情发生了。 .min.js
版本是普通文件,但在通过缩小工具运行后,这些天通常是UglifyJS2。
有些库甚至没有主生成文件中的所有代码,通常是由于使用原因。例如,Angular.js在ng-route
中没有angular(.min).js
模块,您还需要包含angular-route(.min).js
。这是出于理智的原因,因为很多Angular使用不需要或不需要路由系统,而且它是一个相当大的插件。
答案 1 :(得分:0)
它与开发环境和部署环境中的任何项目相同,因此在github中,d3.js d3.v3.js的开发环境是您需要在产品中使用的编译库。
答案 2 :(得分:0)
Zeke Sonxx的答案很棒。我只是在Javascript的情况下添加,因为源代码可以直接运行,可能不需要github repo。但即使在最简单的情况下,您也可以在需要时添加其他文件,跟踪github问题系统中的问题和计划等。示例:gexf-parser repo只有一个主源文件{{1}但是,还有一组用于测试的文件,还有一些其他有用的文件。 Javascript也可以“编译”,但它不是某些语言(C,Java,Clojure等)意义上的编译。分发的应用程序通常是从repo中的许多不同的源文件构建的。