經過多天令人沮喪的jsDoc實驗,似乎require-js模塊(AMD)的文檔存在其問題。首先:如何使用jsdoc記錄require-js AMD模塊?
你不能標記您的模塊類:
define([
"dcl/dcl",
], function (dcl) {
/**
* @class BaseClass
* See {@tutorial getting-started}
*/
var BaseClass = dcl(null,{
foo:function(a){}
});
return BaseClass;
});
jsDoc不會輸出富了!只有將其更改爲
/** @module BaseClass */
define([
"dcl/dcl",
], function (dcl) {
/**
* @class module:BaseClass
*/
var BaseClass = dcl(null,{
foo:function(a){}
});
return BaseClass;
});
將在文檔中枚舉foo作爲函數。至少有一些事情,但在模塊方面似乎並沒有結束。在查看jsdoc文檔(非常差)時,它會將模塊視爲不同;
/** @module BaseClass */
define([
"dcl/dcl",
], function (dcl) {
/**
* @class module:BaseClass
*/
var BaseClass = dcl(null,{
/**
*
* @constant {String} module:BaseClass.COLLAPSED
* @static
* @member
* @name module:BaseClass.COLLAPSED
* */
COLLAPSED : '__wcDockerCollapsedPanel',
/**
* Add a new docked panel to the docker instance.<br>
* <b>Note:</b> It is best to use {@link wcDocker.COLLAPSED} after you have added your other docked panels, as it may ensure proper placement.
* @param {module:BaseClass.COLLAPSED} [targetPanel] - A target panel to dock relative to, or use {@link wcDocker.BaseClass} to collapse it to the side or bottom.
* @returns {wcPanel|Boolean} - The newly created panel object, or false if no panel was created.
*/
addPanel: function (targetPaneloptions) {}
});
return BaseClass;
});
只有通過增加處處模塊:前綴,你的常量和枚舉類型成爲鏈接能夠特別是當它(鏈接能)來常量和枚舉。這在文檔中看起來很糟糕。此外,我似乎無法在另一個模塊中定義常量和枚舉並鏈接到它們,memberOf也無濟於事。
所以問題是:如何在AMD/Require-JS模塊中使用jsDoc,或者如何讓jsDoc將AMD模塊(由var module =創建)作爲類來處理?
ps:它有可能是它的只是越野車或沒有真正的工作?因爲我真的嘗試了各種各樣的標籤和組合,但沒有......沒有真正的工作,如文檔中所述。無論如何,任何想法或示例的鏈接都是受歡迎的。 摹