gpt4 book ai didi

javascript - 如何在 JSDoc 中引用模块中的常量

转载 作者:太空宇宙 更新时间:2023-11-03 22:31:45 25 4
gpt4 key购买 nike

我有以下导出常量的模块:

/** @module my_constants */
module.exports = {
/** @const {number} */
STATE_FOO: 1,
/** @const {number} */
STATE_BAR: 2
}

现在我有另一个模块,其中返回对象可以包含这些常量之一。我怎样才能引用它?

我尝试过如下:

/**
* @typedef {Object} Result
* @property {string} name
* @property {my_constants.STATE_FOO|my_constants.STATE_BAR}
*/

在 JSDoc 输出中,常量被逐字打印并且不链接。有什么方法可以链接到常量或 my_constants 模块吗?

最佳答案

一个选项(我使用过的)是使 typedef 全局化:

/** @module my_constants */

/**
* @typedef {Object} my_constants
* @property {number} [STATE_FOO=1] The foo state
* @property {number} [STATE_BAR=2] The bar state
* @global
*/
module.exports = {
STATE_FOO: 1,
STATE_BAR: 2
}

然后你可以像这样使用它:

/**
* @typedef {Object} Result
* @property {string} name
* @property {my_constants} some Some constants
*/

当您创建 jsdoc 时,这将使some 参数类型链接到常量类型定义。

关于javascript - 如何在 JSDoc 中引用模块中的常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36047439/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com