JSDoc 这就是您将@typedef 标记为@global 的方式吗?

mtp*_*ltz 7 javascript jsdoc jsdoc3

只需确保在我们的 Node 服务器的模块中使用它是正确的方法,以便能够在@typedef整个应用程序中使用它,而不是在需要的每个模块/文件中重复它。从文档中我无法确定这是否正确,并且是否有人对存储全局 @typedef 的位置有意见,以便在整个应用程序中使用时是否需要更改它们很容易找到。

/**
 * Universally unique identifier.
 * @global
 * @typedef {string} UUID
 */
Run Code Online (Sandbox Code Playgroud)

wyz*_*207 8

这里的答案有点晚了,但我从谷歌上发现了这个问题,所以这就是我自己解决这个问题的方法。希望它对未来的人有所帮助!

我遇到了类似的情况,我typedef在模块中有一个,并且想在应用程序的其他地方使用该类型,而不需要重新定义该类型。

我去了这样的事情:

myModule.js
/**
 * Universally unique identifier.
 * @typedef {string} UUID
 */
Run Code Online (Sandbox Code Playgroud)
myOtherScript.js

/**
 * @function
 * @param {import('path/to/myModule.js').UUID} uuid
 */
function getByUUID(uuid) { ... }

Run Code Online (Sandbox Code Playgroud)

这不会使typedef严格的全局性,所以你不能这样做@param {UUID} uuid(这更干净,但我还没有找到实现这一点的方法),但这种方法适用于我的用例,并且绝对比重写类型更好它无处不在。

有关此主题的更多信息可以在此 Github 问题中找到。