2016-09-09 13 views
0

Я пытаюсь документировать класс в модуле AMD JavaScript с помощью JSDoc 3. Вот мой код, на основе, например, в документации here:Документирование класса в модуле AMD с JSDoc 3

/** 
* A module representing a jacket. 
* @module my/jacket 
*/ 
define('my/jacket', function() { 
    /** 
    * @class 
    * @alias module:my/jacket 
    */ 
    function Jacket() { 
    } 

    /** 
    * Open and close your Jacket. 
    */ 
    Jacket.prototype.zip = function() { 
    }; 

    return Jacket; 
}); 

выход этого производит выглядит следующим образом:

класса: модуль: моя/куртка

модуль: моя/куртка

new module:my/jacket()

, но я хотел бы, чтобы прочитать:

Класс: Куртка

куртка

new Jacket()

Есть ли способ сделать это? Я использую jsdoc 3.4.1.

Я попытался изменить @class на @class Jacket, который почти работает: класс отображается с правильным именем, но документация метода zip не сгенерирована.

ответ

0

Решение было установить имя класса (функции), используя @alias тег вместо имени модуля:

/** 
* A module representing a jacket. 
* @module my/jacket 
*/ 
define('my/jacket', function() { 
    /** 
    * @class 
    * @alias Jacket 
    */ 
    function Jacket() { 
    } 

    /** 
    * Open and close your Jacket. 
    */ 
    Jacket.prototype.zip = function() { 
    }; 

    return Jacket; 
}); 

Это дает желаемый результат:

Класс: куртка

Куртка

new module:Jacket()

вместе с документацией по методу zip.