상당히 큰 JavaScript 프로젝트를 시작하고 있습니다. 프로젝트는 하나 이상의 네임 스페이스 내에 모든 것을 갖게 될 것이기 때문에 전체 범위에 드문 드문 많은 수의 개체 만 존재할 것입니다 (현재로서는 단 한가지 만 존재합니다).다중 파일 JavaScript 프로젝트 구성 및 문서화
구성을 유지하기 위해 "모듈"대신 각 클래스를 다른 파일과 마찬가지로 자신의 파일에 보관하고 싶습니다.
하루 종일 단일 JavaScript 파일에 모든 파일을 컴파일하는 약간의 컴파일 스크립트 (NodeJS 포함)를 만들었습니다.
나는 좋은 방법이 있다고 생각했지만 JSDoc (3)을 나와 협력하고 많은 행운을 가지지 않으려 고 노력하고있어, 이것이 내가 잘못 생각한 것인지 궁금해하고있다. 방법이 없거나 JSDoc에서 어떤 트릭이있는 경우 빠졌습니다.
소스에서 각 네임 스페이스는 폴더이며 각 클래스는 같은 이름의 파일입니다. 함께 컴파일 할 때
이var BaseNS = BaseNS || {};
BaseNS.SubNS = BaseNS.SubNS || {};
BaseNS.SubNS.MyClass = (function() {
function MyClass() {
}
Object.defineProperties(MyClass.prototype, {
'someProp', {
getter: function() { return this._someProp = this._someProp || 0; },
setter: function(val) { this._someProp = val; }
}
// ... more
});
MyClass.prototype.someMethod = function() {};
// ... more
return MyClass;
}}());
, 내 컴파일 스크립트가 올바른 순서로 클래스와도 제거 중복 된 네임 스페이스 선언 라인을 얻을 종속성을 처리합니다
각 클래스 파일은 다음과 같이 보인다.
이 방법은 비교적 깨끗하고 간단합니다. 잡힌 점은 JSDoc 문서를 어떻게 작성해야하는지 생각할 수 없다는 것입니다.
나는 "클래스와 비슷한"방식으로 가고 싶습니다. 이것은 실제로 DOM에서 크게 제거 된 응용 프로그램을위한 것입니다. 또한 전체 프로젝트를 바닐라, 현대 자바 스크립트 (예 : No RequireJS 등)로 변경하고 싶습니다.
아이디어를 얻는 방법이나 더 좋은 방법을 준비하고 싶습니다.
감사합니다.