2012-10-16 89 views
4

我試圖找到如何讓JSDoc3自動生成到其他模塊的類的鏈接。 我覺得很難用文字解釋,所以讓我舉一些例子。下面的腳本生成預期的輸出:JSDoc3&NodeJS鏈接到模塊的類型

/** 
* @constructor 
*/ 
var SomeClass = function(){} 

/** 
* @param {SomeClass} someParam description 
*/ 
var someFunc = function(someParam){} 

也就是說,JSDoc3正確生成從someFunc的參數列表的SomeClass的類描述的鏈接。然而,當我把SomeClass的外部模塊中我似乎無法讓JSDoc3生成鏈接:

/** 
* @file SomeClass.js 
* @module SomeClass 
*/ 

/** 
* @constructor 
*/ 
exports.SomeClass(){} 


/** 
* @file main.js 
*/ 
var SomeClass = require('./SomeClass'); 

/** 
* @param {SomeClass} someParam description 
*/ 
function someFunc(someParam){} 

現在JSDoc3正確生成兩個文件的文件,但它不會鏈接someFunc的參數類型到SomeClass的頁面。我試着用替換@param {SomeClass}

  • @param {SomeClass.SomeClass}
  • @param {SomeClass/SomeClass}
  • @param {@link SomeClass}
  • @param {@link SomeClass.SomeClass}
  • @param {@link SomeClass/SomeClass}

但所有這些工作過:在所有情況下的文件只顯示文本里面捲曲br ackets(即使我使用@link)。

我如何讓JSDoc3正確地生成鏈接到外部模塊?

+0

如果您使用{{@link SomeCLass}},它會嘗試解析鏈接,但我還不確定正確的語法。 – Matt

回答

4

引用模塊時使用module:前綴。如果模塊的返回值是類本身,則使用module:SomeClass。如果它是模塊的屬性,請使用module:SomeClass.SomeClass。如果jsdoc可以找到對現有類文檔的引用,則不應該需要@link標記。

+0

不是關於主題,而是相關的 - 如何使用@link標記 - 鏈接一個類'{@link Class |類名}'。鏈接一個模塊命名空間|命名空間名稱}'。鏈接一個模塊(需要前綴)'{@link module:Module |模塊名稱}'。 –