我试图找到如何让JSDoc3自动生成到其他模块的类的链接。 我发现很难用文字解释,所以让我举一些例子。以下脚本生成预期输出:
/**
* @constructor
*/
var SomeClass = function(){}
/**
* @param {SomeClass} someParam description
*/
var someFunc = function(someParam){}
也就是说,JSDoc3正确生成someFunc的参数列表到SomeClass的类描述的链接。但是,当我将SomeClass放在外部模块中时,我似乎无法让JSDoc3生成链接:
/**
* @file SomeClass.js
* @module SomeClass
*/
/**
* @constructor
*/
exports.SomeClass(){}
/**
* @file main.js
*/
var SomeClass = require('./SomeClass');
/**
* @param {SomeClass} someParam description
*/
function someFunc(someParam){}
现在JSDoc3正确生成了两个文件的文档,但它没有将someFunc的参数类型链接到SomeClass的页面。我尝试将@param {SomeClass}
替换为:
@param {SomeClass.SomeClass}
@param {SomeClass/SomeClass}
@param {@link SomeClass}
@param {@link SomeClass.SomeClass}
@param {@link SomeClass/SomeClass}
但这些都不起作用:在所有情况下,文档只是在大括号内显示文本(即使我使用@link)。
如何让JSDoc3正确生成指向外部模块的链接?
答案 0 :(得分:4)
引用模块时使用module:
前缀。如果模块的返回值是类本身,则使用module:SomeClass
。如果它是模块的属性,请使用module:SomeClass.SomeClass
。如果jsdoc可以找到对现有类文档的引用,则不需要@link标记。