2017-11-16 18 views
0

2 개의 노드 모듈이 있습니다. 모듈 A에서 나는 다음과 같은 정의가 :JSDoc @param - 다른 모듈의 참조 클래스

/** 
* HTTP Client 
* @module src/http/client 
*/ 
/** 
* A HTTP Client 
* @alias src/http/client 
*/ 
class HTTPClient { 
    [... class def with documented methods etc] 
} 
module.exports = HTTPClient 

을 이제 모듈 B에서 나는 처음 생성자 매개 변수 유형 HttpClient를이어야한다고 말하고 싶습니다. 그래서 나는 다음을 시도했다

class PackageFactory { 
    /** 
    * @param {module:src/http/client} httpClient - the HTTPClient instance 
    */ 
    constructor(httpClient) { 
     this._httpClient = httpClient 
    } 
} 

나는 또한 약간의 변화를 시도했지만 결코 효과가 없었다. 모듈 B 내에서 httpClient는 항상 "any"유형입니다. 모듈 B에서 HTTPClient의 클래스 멤버를 볼 수 있도록 변경해야하는 사항은 무엇입니까?

+0

'@param {module : src/http/client ~ HTTPClient} httpClient'를 사용해도 될까요? – zero298

+0

는 효과가없는 것 같습니다. 아니면 아마도 내가 사용하고있는 Visual Studio 코드가 제대로 표시되지 않는 것일까 요? – newBee

답변

1

해결책이 더 쉬웠다 고 생각했습니다. 모듈 경로 (일명 긴 이름) 또는 기타를 포함 할 필요가 없습니다.

const HTTPClient = require('../http/client') 
class PackageFactory { 
    /** 
    * @param {HTTPClient} httpClient - the HTTPClient instance that shall be used to make requests 
    */ 
    constructor(httpClient) { 
     this._httpClient = httpClient 
    } 
}