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タグを持っているかのようにドキュメント化されています。これは、参照するたびにクラス名を 2 回繰り返す必要があることを意味します。

"use strict";

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

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

モジュールは本質的にクラスであるため、この状況でクラス名を 2 回指定する必要はありません。適切に構造化されたドキュメント (モジュールとクラスのリスト) を出力するように、これに 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 に答える