2014-10-03 130 views
0

對於d3或者其他一般的javascript軟件包,有着完整源代碼的js文件(比如d3.v3.js)和github回購它(在d3的情況下,它是https://github.com/mbostock/d3)。d3.v3.js和整個D3版本庫的區別

什麼github回購包含整個源代碼不?

我在Scott Murray的教程中看到D3存儲庫包含「所有組件源代碼」。有人可以解釋'組件'的含義嗎?

+0

Zeke Sonxx的答案似乎非常好。我只是補充一點,因爲使用Javascript,因爲源代碼可以直接運行,所以可能不需要github回購。但是你可以在需要的時候添加額外的文件,跟蹤github問題系統中的問題和計劃等。例子:[gexf-parser](https://github.com/Yomguithereal/gexf-parser)repo只有一個主要的源文件'src/parser.js',但是還有一些用於測試的文件以及其他一些有用的文件。 – Mars 2014-10-03 05:45:39

回答

1

讓我們看看無論什麼庫。它做什麼。回購爲位於https://github.com/someone/whatever.js(這不是一個真正的回購)。

回購本身通常包含各種信息,包括文檔,樣式指南和代碼組織。 Whatever.js實際上由三個文件組成:lib/whatever.js,lib/whatever-tools.jslib/whatever-xml.js。這些被連接起來用於實際使用,但爲了開發whatever.js本身,使用單獨的文件更容易。

不得不處理只提交一個文件是絕對可怕的。拉請求會更糟糕。

分佈式版本,又名whatever.jswhatever.min.js,是經過處理的回購代碼的一個版本,但它需要。對於大多數圖書館來說,文件只是被連接起來,但是對於一些圖書館來說,花哨的事情發生了。 .min.js版本是正常的文件,但通過縮小工具運行後,這些日子通常是UglifyJS2。

一些庫甚至沒有生成主文件中的所有代碼,通常是由於使用原因。例如,Angular.js在angular(.min).js中沒有ng-route模塊,您還需要包含angular-route(.min).js。這是出於理智的原因,因爲相當多的Angular使用不需要或不需要路由系統,而且它是一個相當大的插件。

0

它與開發環境和部署環境中的任何項目相同,因此在github中是d3.js的開發環境。d3.v3.js是您需要在產品中使用的編譯庫。

0

Zeke Sonxx的回答非常好。我只是在Javascript的情況下添加,因爲源代碼可以直接運行,可能不需要github回購。但即使在最簡單的情況下,您也可以在需要時添加其他文件,跟蹤github問題系統中的問題和計劃等。示例:gexf-parser回購僅具有一個主源文件src/parser.js,但存在用於測試的文件以及其他一些有用的文件。 Javascript也可以被「編譯」,但它不是某種語言(C,Java,Clojure等)的編譯。分發的應用程序通常會由回購中的許多不同的源文件構建。