在 JSDoc 中,有没有办法在单独的文件中定义术语并在函数文档中 link 它们?

In JSDoc, is there a way to define terms in a separate file and link them within function docs?

我想写的是这样的:

/**
 * Takes a foo and {@link grokelates} it.
 */
function doSomething(foo) {
}

并让“grokelates”成为 link 以更详细地了解“grokelate”的含义,但是因为我将在我的代码库中使用处理 grokelation 的函数,所以我想写一次该定义,然后 link 在多个地方写入它。

这可能吗?

需要说明的是,grokelates 不是函数。这只是我想定义的一个词,但不必在我使用它的任何地方都进行内联定义。我基本上想编写一个词汇表文件,并能够 link 从我的 JSDoc 中的词汇表定义。

理想情况下,这也是 VS Code 拾取它并让某人在悬停时导航到该定义的方式。

是的。当你 运行 jsdoc 生成你的文档时,你可以传递任何你想要的文件类型。一种标准做法是创建一个或多个 *.jsdoc 文件,其中包含 doclet 注释(以 /** 开头的注释)来描述您希望在代码的其他地方使用的功能。例如:

// filename: grokelation.jsdoc
/**
 * @module grokelates
 */

/** 
 * @name Grokelate
 * @memberof module:grokelates
 * @description
 * Here is the description of the grokelation process. 
 *
 * @example
 * var g = new Grokelate(opts);
 */

然后,当您希望在文档的其他地方引用这个新对象时,只需使用它的长名称 module:grokelates~Grokelate,您可以将 ~ 字形视为“成员”。

在上面的示例中,您会说 {@link module:grokelates~Grokelate}