我有以下模块导出常量:
/** @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
模块?
答案 0 :(得分:0)
一个选项(我使用过的)是使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
param类型到常量类型定义的链接。