2012-12-10 21 views
3

我開始使用JSDoc3時遇到了一些問題。最重要的是,@param不顯示!從JSDoc3獲得更好的輸出

這裏是我的測試來源:

/** 
* Testing JsDoc3. 
* Why isn't this working `better`? 
*/ 
function foo(bar) { 
    console.log(+bar); 
} 

/** 
    A function with params. 
    @param {string} baz 
    @param {...number} bim 
*/ 
function goo(baz/*, ...bim */) { 

} 

/** 
* Hello, is this thing on? 
* @namespace bop 
* @type {object} 
*/ 
var bop = { 

    sting: function(WHO) { 
     console.log(WHO); 
    }, 

    buzz: function(when, why) { 

    } 

}; 

而且我跑./jsdoc -r -l test.js。問題是輸出我得到的是相當乏味,缺乏大量的信息:


JSDoc3 output


爲什麼不帶參數的信息?我正在使用默認模板;默認模板真的很平淡,不顯示參數?或者我做錯了什麼?

我試圖尋找JSDoc3的一些模板,並沒有真正能夠找到任何好東西。如果你知道一個很好的工作,並且實際上包含有用的信息,請分享。

回答

4

當在最新版本的JSDoc3的早期版本中記錄全局對象時,有一些問題一切正常。

如果您再次嘗試使用最新版本,您將獲得goo全局函數的參數。

但是,如果你想獲得更好的描述,你應該遵循的規則

@param {}型PARAM_NAME參數說明 @param標籤,類型,PARAM名,參數說明

foo的全局函數由於缺少@param標籤,因此不會提供任何信息。 這裏是我的輸出代碼

global functions

namespace object

我加了一些標記,你原來的代碼:

/** * 測試JsDoc3。 *爲什麼不能正常工作better? * @method * @param {Object} bar Som bar值 */ function foo(bar){ console.log(+ bar); }

/** 
    A function with params. 
    @param {string} baz 
    @param {...number} bim 
    @returns {boolean} return false because we're testing 
*/ 
function goo(baz/*, ...bim */) { 
    return false; 
} 

/** 
* Hello, is this thing on? 
* @namespace bop 
* @type {object} 
*/ 
var bop = { 

    /** 
    * Hello, is this thing on? 
    * 
    * @method 
    * @param {object} WHO Some Param 
    * @memberof bop 
    */ 
    sting: function(WHO) { 
     console.log(WHO); 
    }, 

    /** 
    * I'm public 
    * 
    * @method 
    * @param {object} when Some Param when 
    * @param {object} why Some Param why 
    * @memberof bop 
    */ 
    buzz: function(when, why) { 
     _buzz(when, why); 
    }, 

    /** 
    * I'm inner (private) 
    * 
    * @inner 
    * @method 
    * @param {object} when Some Param when 
    * @param {object} why Some Param why 
    * @memberof bop 
    */ 
    _buzz: function(when, why) { 
     console.log(when); 
    } 

}; 
0

有時它取決於您使用的jsdoc3模板。我使用多個模板生成了一個輸出,所以我們可以根據自己的需要比較哪個最合適:https://cancerberosgx.github.io/jsdoc-templates-demo/demo/我會隨着時間的推移而放更多,但我認爲這對做出決定非常有幫助。還記錄了它們是如何生成的。希望能幫助到你!