2014-10-03 5 views
0

d3 또는 일반적으로 모든 javascript 패키지의 경우 전체 소스 코드 (예 : d3.v3.js)와 github repo (d3의 경우, https://github.com/mbostock/d3).d3.v3.js와 전체 ​​D3 저장소의 차이점

github 레포에 전체 소스 코드가 포함되어있는 것은 무엇입니까?

Scott Murray의 튜토리얼에서 D3 저장소에 "모든 구성 요소 소스 코드"가 들어 있습니다. 누군가 '구성 요소'의 의미를 설명 할 수 있습니까?

+0

Zeke Sonxx의 대답은 훌륭하게 보입니다. Javascript를 사용하면 소스 코드를 직접 실행할 수 있기 때문에 github repo에 대한 필요성이 적기 때문에 추가 할 것입니다. 하지만 필요할 때 추가 파일을 추가하고 github 발행 시스템에서 문제 및 계획을 추적하십시오. 예 : [gexf-parser] (https://github.com/Yomguithereal/gexf-parser) 저장소에는 하나의 주 소스 파일 인'src/parser.js'가 있지만 테스트 용 파일 모음과 몇 가지 유용한 파일이 있습니다. – Mars

답변

1

Whatever 라이브러리를 살펴 보겠습니다. 그것은 무엇이든합니다. Repo는 https://github.com/someone/whatever.js에 있습니다 (실제 리포가 아닙니다).

레포 자체에는 일반적으로 문서, 스타일 가이드 및 코드 구성 등 다양한 정보가 포함되어 있습니다. Whatever.js는 실제로 파일 세 개 (lib/whatever.js, lib/whatever-tools.jslib/whatever-xml.js)로 구성됩니다. 이것은 실제 사용을 위해 연결되어 있지만, whatever.js 자체의 개발을 위해 별도의 파일로 작업하는 것이 더 쉽습니다.

모든 파일을 하나의 파일에 커밋하는 것은 절대적으로 끔찍한 일입니다. 잡아 당기기 요구는 더 나쁠 것입니다.

분산 버전 (일명 whatever.jswhatever.min.js)은 처리해야하는 Repo 코드의 버전입니다. 대부분의 라이브러리의 경우 파일이 연결될 뿐이지 만 일부 라이브러리의 경우 멋진 일이 발생합니다. .min.js 버전은 일반 파일이지만 축소 도구를 통해 실행 된 후에 요즘은 일반적으로 UglifyJS2입니다.

일부 라이브러리는 사용 된 이유로 보통 기본 생성 파일에 모든 코드를 포함하지 않습니다. 예를 들어 Angular.js는 ng-route 모듈이 angular(.min).js에 없으므로 angular-route(.min).js도 포함해야합니다. 상당히 많은 Angular 용도가 라우팅 시스템을 필요로하지 않거나 필요로하지 않기 때문에 이것은 위생적인 ​​이유로 사용되며 상당히 큰 부가 기능입니다.

0

개발 환경 및 배포 환경에서 프로젝트와 동일하므로 d3.js의 개발 환경 인 github에서 d3.v3.js는 제품에서 사용해야하는 컴파일 된 라이브러리입니다.

0

Zeke Sonxx의 대답은 우수합니다. 소스 코드를 직접 실행할 수 있기 때문에 Javascript의 경우에 추가 할 것입니다. github repo가 ​​덜 필요합니다. 그러나 가장 간단한 경우조차도 필요할 때 추가 파일을 추가하고 github 발행 시스템에서 문제 및 계획을 추적합니다. 예 : gexf-parser repo에는 하나의 기본 소스 파일 src/parser.js 만 있지만 컬렉션이 있습니다. 테스트 용 파일 및 기타 유용한 파일을 제공합니다. 자바 스크립트도 "컴파일"할 수 있지만 일부 언어 (C, Java, Clojure 등)에서는 컴파일되지 않습니다. 배포 된 응용 프로그램은 종종 repo의 많은 다른 소스 파일로부터 만들어집니다.