我目前正在使用JSDoc Toolkit来记录我的代码,但它似乎并不完全适用于描述命名空间。假设你有两个简单的类,分别在它们各自的文件中:
lib/database/foo.js
:
/** @class */
function Foo(...) {...}
/** @function ... */
Foo.prototype.init(..., cb) { return cb(null, ...); };
module.exports = foo;
然后某些东西继承了 lib/database/bar.js
:
var Foo = require('./foo');
/**
* @class
* @augments Foo
*/
function Bar(....) {...}
util.inherits(Bar, Foo);
Bar.prototype.moreInit(..., cb) { return cb(null, ...); };
在生成的文档中,这些内容仅以Foo
和Bar
输出,而没有前面的database
或lib.database
,但是当你不把所有内容都放在全局范围内时,这些前缀是非常必要的。我已经尝试使用
@namespace database
和@name database.Foo
,但效果不太好。有什么想法可以让JSDoc输出更合适的内容,或者是否有其他完全不同的工具能更好地与Node.js配合使用?(我简要查看了Natural Docs、JSDuck和很多其他看起来相当过时的工具...)