我有以下导出常量的模块:
/** @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/