【问题标题】:JSDoc3 & NodeJS link to types from modulesJSDoc3 和 NodeJS 链接到模块中的类型
【发布时间】:2016-06-29 14:20:44
【问题描述】:

我试图找到如何让 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 正确生成指向外部模块的链接?

【问题讨论】:

  • 如果您使用 {{@link SomeCLass}} 它会尝试解析链接,我还不确定正确的语法。

标签: node.js jsdoc


【解决方案1】:

引用模块时使用module: 前缀。如果模块的返回值是类本身,则使用module:SomeClass。如果是模块的属性,请使用module:SomeClass.SomeClass。如果 jsdoc 可以找到对现有类文档的引用,则不需要 @link 标记。

【讨论】:

  • 不是主题,而是相关的 - 如何使用@link 标签 - 链接一个类{@link Class| Class name}。链接一个模块{@link Namespace| Namespace name}。链接一个模块(需要前缀){@link module:Module| Module name}.
猜你喜欢
  • 2014-01-08
  • 2018-04-28
  • 2016-04-06
  • 1970-01-01
  • 2014-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-13
相关资源
最近更新 更多