1

如果我正在开发一个具有以下目录结构的节点模块something-nifty :

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;

在生成的文档中,该类被记录为好像它具有@inner标记,这意味着每当我引用它时我需要重复两次类名:

"use strict";

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

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

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

4

1 回答 1

0

花了一些时间搜索我能找到的最好的是(在我看来)“滥用”@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技巧上学到的文章:http: //www.pagosoft.com/javascript/using-jsdoc-amd-modules/

于 2015-12-04T18:00:56.883 回答