나는이 훨씬 더 우아한 모르겠지만,이게 내가하고 결국 무엇을 :
다행히, 심지어 현재 버전 3.5.5로 해킹은 여전히 동일하게 작동합니다. jsdoc 설치를 해킹 할 필요없이 모든 프로젝트에서 작동합니다.
내 문제 : 가져온 node_modules에서 파생 된 클래스가 있고 상속 된 정보가 내 설명서에 포함되기를 원했지만 기본 클래스가 사이드 바 탐색을 막히게하고 싶지 않았습니다.
exports.handlers = {
processingComplete: function (e)
{
for (let i = 0; i < e.doclets.length; i++)
{
const doclet = e.doclets[i]
if (!doclet.undocumented && doclet.meta && doclet.meta.path.indexOf('node_modules') !== -1)
{
// hack the name so I can find it in the .tmpl file
// I tried to add a new flag to the doclet, but it didn't pass through
doclet.longname += '~'
}
}
}
};
다음
나는 navigation.tmpl에 체크 추가 :
<ul class="list">
<?js
this.nav.forEach(function (item) {
?>
<?js if (item.longname[item.longname.length - 1] !== '~') { ?>
<li class="item" data-name="<?js= item.longname ?>">
...
<? } ?>
을 그리고
첫째, 내 jsdoc 템플릿에 플러그인을 추가 (나는 그것을 건너-node_modules라고도 함) poof, 더 이상 내 사이드 바에 node_module 가져 오기가 없습니다. (이 클래스를 클릭 할 때 사이드 바를 표시하지 않는 단점이 있습니다. 해킹을 해킹하면 문제를 해결할 수 있지만 너무 중요하지는 않습니다.)
쉽습니다. 이것을 변경하여 외부 기호를 확인하십시오. 플러그인에서 console.log (e)를 사용하여 도크 렛이 제공하는 모든 정보를 얻고 상황에 맞는 것을 찾으십시오.
이 해킹도 사용 중입니다. 확실히 만족스럽지 않습니다. 자신을 정의하지 않은 외부 모듈을 어떻게 처리합니까? 나는 들어가서 모듈을 @external로 해킹해야했는데, 이것은 덜 만족 스럽습니다. –