如何在使用模块模式时使用 JSDoc 记录子命名空间

How to document sub-namespace with JSDoc when using module pattern

本文关键字:JSDoc 记录 命名空间 模块 模式      更新时间:2023-09-26

我正在尝试使用 jsdoc-toolkit 记录特定模块模式中的函数,其中命名空间是在模块外部定义的。附加到它的函数位于直接调用函数内。我从工具输出中得到的是:

警告:尝试将 isObject 记录为未记录符号 CORE 的成员。

以下是代码的简化版本:

/**
 * @namespace The framework's top namespace
 * */
var FX = {
  /**
   * @namespace The core framework functions
   */
  core: {
  }
};
(function( CORE, GLOBAL ) {
    'use strict';
    var _isObject;
    CORE.isObject = _isObject = function( object ) {
        if (null === object || (void 0) === object) {
            return false
        }
        return true;
    };
    return CORE;
})(this.FX.core, this);  

您可以尝试使用 @memberOf 标签,它允许您记录您认为对象的"父"或容器是什么。

/** 
 * @memberOf FX.core 
 */
CORE.isObject = _isObject = function( object ) {
    // ...
};
// ...

语法:@memberOf parentNamepath,父命名空间路径是包含对象的名称路径。