2016-10-19 7 views
3

E.g. MyClass.jsКак ссылаться на @class в другом файле с помощью JSdoc?

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

И, в другом файле:

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

Re-определение @class работает, но это не очень удобно:

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

Как мне это сделать?

ответ

2

Название класса должно быть достаточно.

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

Вы должны использовать @alias вместо @name:

Предупреждение: При использовании @name тег, вы сообщаете JSDoc игнорировать окружающий код и обращаться к документации комментарий в изоляции. В случае в большинстве случаев лучше использовать тег @alias, который изменяет имя символа в документации, но сохраняет другую информацию о символе.

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

, который ссылается на случаи бара, не Bar конструктора – Wes

+0

Смотрите мое обновление, добавил '@ alias'. –

+0

Документация jsdoc настолько неясна. как мне избежать написания @ param's дважды? – Wes