2013-03-05 55 views
0

此代碼JSDoc 3命名空間的麻煩

/** 
* * My namespace 
* 
* @namespace 
* 
* @type {Object} 
*/ 
myNamespace = { 

}; 

/** 
* My constructor 
* 
* @constructor 
*/ 
myNamespace.MyConstructor = function() { 

}; 

/** 
* My static class function 
* 
*/ 
myNamespace.MyConstructor.myStaticFunction = function() { 

}; 

編譯並給了我一個很好的HTML文件。但myConstructor語法將顯示爲new MyConstrutor()而不是 右邊new myNamespace.MyConstructor()

如果我改變MyConstructor

/** 
* My constructor 
* 
* @constructor 
* @memberOf {myNamespace} 
*/ 
myNamespace.MyConstructor = function() { 

}; 

評論然後我得到的new myNamespace.MyConstructor()預期的結果。但是現在myNamespace.MyConstructor.myStaticFunction甚至沒有出現在 的文檔中,無論我在3個評論的任何一條中嘗試過的標籤的排列順序如何,它都不會以我期望的方式生成。

我試圖讓myStaticFunction是要麼myNamespaceMyConstructormyNamespace.MyConstructor中的一員 - 但它只是不會在該文檔中出現的任何地方。

我試着編譯與舊的jsdoc-toolkit 2.4並沒有問題,甚至不必使用任何類型的memberOf表示法。這裏真的很晚,所以我希望有一雙新鮮的眼睛能夠幫助我。

回答

1

我覺得應該是

* @memberOf myNamespace 

(沒有大括號)

隨着JSDoc 3.3.0 @memberOf {} myNameSpace對象給出一個錯誤。