chi*_*org 5 javascript module constants node.js jsdoc
我有以下导出常量的模块:
/** @module my_constants */
module.exports = {
/** @const {number} */
STATE_FOO: 1,
/** @const {number} */
STATE_BAR: 2
}
Run Code Online (Sandbox Code Playgroud)
现在我有另一个模块,其中返回对象可以包含这些常量之一。我怎样才能参考它?
我已经尝试过如下:
/**
* @typedef {Object} Result
* @property {string} name
* @property {my_constants.STATE_FOO|my_constants.STATE_BAR}
*/
Run Code Online (Sandbox Code Playgroud)
在 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
}
Run Code Online (Sandbox Code Playgroud)
然后你可以像这样使用它:
/**
* @typedef {Object} Result
* @property {string} name
* @property {my_constants} some Some constants
*/
Run Code Online (Sandbox Code Playgroud)
当您创建 jsdoc 时,这将使some参数类型链接到常量类型定义。