2016-03-16 32 views
1

常量我有以下模块出口常数:如何从模块中引用在JSDoc

/** @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

一个选项(我用的)是使的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 
*/ 

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