2017-03-16 7 views
1

에서 참조 타입 정의 혼성 유형, 다른 모듈이 형태를 참조하는 I는 JS 모듈jsdoc 기타 모듈

// somewhere/foo.js 
/** 
* @module 
*/ 
/** 
* @typedef Foo 
* @type {object} 
* property {string} bar - some property 
*/ 

의 형식 정의 형식이 가능이라고 가정 HTML 페이지 jsdoc 의해 발생하므로 형식이 typedefed 모듈에 대한 링크로 표시됩니까?

나는이의 변화를 시도했지만 아무것도 작동하는 것 같다 없다 ...

// somewhere_else/bar.js 
/** 
* @module 
*/ 
/** 
* @param {somewhere/foo/Foo} foo - some param 
*/ 
export default function doStuff(foo) { 
    ... 
} 

답변

1

이것은 나를 위해 작동 ...

// somewhere/foo.js 
/** 
* @module foo 
*/ 
/** 
* @typedef module:foo.Foo 
* @type {object} 
* @property {string} bar - some property 
*/ 

및 ...

// somewhere_else/bar.js 
/// <reference path="foo.js" /> 
/** 
* @module bar 
*/ 
/** 
* @param {module:foo.Foo} foo - some param 
*/ 
function doStuff(foo) { 
    //... 
}; 
+0

완전 @typedef에있는 모듈을 검증하는 것은 작동합니다 (나는 personnaly가'@typedef {Object} module : foo/Foo'를 작성했습니다, 그러나 이것은 맛의 문제입니다.) 그러나 : /// '는 불필요한 것으로 보이며 어디에서든 문서화 된 것을 찾을 수 없습니다. 2/모듈에 긴 경로 (예 : 'somewhere/foo')가있는 곳이라면 어디에서나 입력하는 것이 약간 번거롭고 어떻게 든 별칭을 알 수 있습니까? – phtrivier

+0

@phtrivier 1. 죄송합니다. 참조는 복사하여 내 테스트의 붙여 넣기입니다. 무시하십시오. 2. 조금 지루한 당신에게 전적으로 동의합니다. 불행히도 "별칭"은 우리가 문서화 한 방식입니다 (특히 프로토 타입을 사용하는 경우). 실제로보기에 그렇게 나쁘지는 않습니다. 나는이 방법이나 타입을 사용하는 개발자가 어디에 정의되어 있는지 정확히 알 수 있으므로 올바른 문서를 만드는 것뿐만 아니라 개발 중에 효율적인 참조를 찾는 데 도움이된다. "@exports"를 사용하는 또 다른 방법이지만이 옵션을 발견하지 못했기 때문에 주석을 달 수는 없습니다. –