How to reference a @class in another file with JSd

2019-06-22 09:17发布

E.g. MyClass.js

/**
 * @class
 * @name module:Bar
 * @param {number} a1
 * @param {string} a2
 */
function Bar(a1, a2){}

And, in another file:

/** @type module:Bar.constructor */ // made up syntax
var Bar = require("./MyClass.js");

Re-defining @class works but it's not convenient:

/**
 * @class
 * @name module:Bar
 * @param {number} a1
 * @param {string} a2
 */
var Bar = require("./MyClass.js");

How do I do it?

1条回答
一夜七次
2楼-- · 2019-06-22 09:44

The class name alone should be enough.

/**
 * @type module:Bar
 */
var Bar = require("./MyClass.js");

You should use @alias instead of @name:

Warning: By using the @name tag, you are telling JSDoc to ignore the surrounding code and treat your documentation comment in isolation. In many cases, it is best to use the @alias tag instead, which changes a symbol's name in the documentation but preserves other information about the symbol.

/**
 * @class
 * @alias module:Bar
 * @param {number} a1
 * @param {string} a2
 */
function Bar(a1, a2){}
查看更多
登录 后发表回答