使用JSDoc记录模块导出类

时间:2019-10-12 08:10:40

标签: javascript node.js class ecmascript-6 jsdoc

CommonJS模块中的简单类具有以下JSDoc注释:

/** 
 * Class representing a list of items.
 * */
module.exports = class List {  

    /**
     * Create a list.
     */
    constructor(){
        this.items = [];
    }

    /**
     * Add an item to the list.
     * @param {String} item - The name of the eitem.
     * @param {Number} qty - The number of items to add.
     */
    add(item, qty) {
        var data = {item: item, qty: qty};
        this.items.push(data);
    }

    /**
     * Return the list of items.
     * @return {Array.<{item: String, qty: Number}>} An array containing the items.
     */
    getAll(){
        return this.items.map( (element, index) => ({key: index, item: element.item, qty: element.qty}));
    }

    /**
     * Delete a single item.
     * @param {Number} id - The index to be deleted.
     */
    delete(id){
        this.items.splice(id, 1);   
    }

    /**
     * Return the number of items in the list.
     * @return {Number} The number of items.
     */
    count(){
        return this.items.count;
    }

}

生成文档时,我丢失了类的名称。而不是被称为导出列表,请参见下面的屏幕截图。如何使工具正确地将模块标记为列表enter image description here

1 个答案:

答案 0 :(得分:1)

尝试:

/**
 * Class representing a list of items.
 * */
class List {

    /**
     * Create a list.
     */
    constructor(){
        this.items = [];
    }

    /**
     * Add an item to the list.
     * @param {String} item - The name of the eitem.
     * @param {Number} qty - The number of items to add.
     */
    add(item, qty) {
        var data = {item: item, qty: qty};
        this.items.push(data);
    }

    /**
     * Return the list of items.
     * @return {Array.<{item: String, qty: Number}>} An array containing the items.
     */
    getAll(){
        return this.items.map( (element, index) => ({key: index, item: element.item, qty: element.qty}));
    }

    /**
     * Delete a single item.
     * @param {Number} id - The index to be deleted.
     */
    delete(id){
        this.items.splice(id, 1);
    }

    /**
     * Return the number of items in the list.
     * @return {Number} The number of items.
     */
    count(){
        return this.items.count;
    }

}

module.exports = {
    List
};

它是

的语法糖
module.exports = {
    'List': List
};

它将添加缺少的“列表”名称

相关问题