Node.js 如何用jsdoc3记录ES6类模块?

Node.js 如何用jsdoc3记录ES6类模块?,node.js,jsdoc3,Node.js,Jsdoc3,如果我正在开发一个节点模块一些漂亮的,它具有以下目录结构: something-nifty/ lib/ plugins/ Plugin.cs index.js package.json plugin.cs的定义如下: "use strict"; /** * @module something-nifty/lib/plugins/Plugin */ /** * The base class for a 'something

如果我正在开发一个节点模块一些漂亮的,它具有以下目录结构:

something-nifty/
    lib/
        plugins/
            Plugin.cs
    index.js
    package.json
plugin.cs
的定义如下:

"use strict";

/**
 * @module something-nifty/lib/plugins/Plugin
 */

/**
 * The base class for a 'something-nifty' plugin.
 */
class Plugin {
    /**
     * Constructs the plugin...
     */
    constructor() {
    }
}

module.exports = Plugin;
在生成的文档中,类被记录为具有
@internal
标记,这意味着每当我引用类名时,我需要重复类名两次:

"use strict";

/**
 * @module something-nifty/lib/foo
 */

/**
 * Foo...
 * @param {module:something-nifty/lib/plugins/Plugin~Plugin} plugin
 */
exports.abc = function(plugin) { ... };

当然,在这种情况下,我不需要两次指定类名,因为模块本质上就是类。使用jsdoc3标记对此进行注释的正确方法是什么,以便它输出结构正确的文档(模块和类列表)?

花了一些时间搜索我能找到的最佳方法是(在我看来)“误用”以下代码片段中所示的
@alias
标记:

"use strict";

/**
 * @module something-nifty/lib/plugins/Plugin
 */

/**
 * The base class for a 'something-nifty' plugin.
 * @alias module:something-nifty/lib/plugins/Plugin
 */
class Plugin {
    /**
     * Constructs the plugin...
     */
    constructor() {
    }
}

module.exports = Plugin;
以下链接指的是我在文章中学习到的这个
@alias
技巧:

花了一些时间搜索,我能找到的最好的方法是(在我看来)误用
@alias
标记,如以下代码片段所示:

"use strict";

/**
 * @module something-nifty/lib/plugins/Plugin
 */

/**
 * The base class for a 'something-nifty' plugin.
 * @alias module:something-nifty/lib/plugins/Plugin
 */
class Plugin {
    /**
     * Constructs the plugin...
     */
    constructor() {
    }
}

module.exports = Plugin;
以下链接指的是我在文章中学习到的这个
@alias
技巧: