Node.js 如何用jsdoc3记录ES6类模块?
如果我正在开发一个节点模块一些漂亮的,它具有以下目录结构:Node.js 如何用jsdoc3记录ES6类模块?,node.js,jsdoc3,Node.js,Jsdoc3,如果我正在开发一个节点模块一些漂亮的,它具有以下目录结构: something-nifty/ lib/ plugins/ Plugin.cs index.js package.json plugin.cs的定义如下: "use strict"; /** * @module something-nifty/lib/plugins/Plugin */ /** * The base class for a 'something
something-nifty/
lib/
plugins/
Plugin.cs
index.js
package.json
plugin.cs的定义如下:
"use strict";
/**
* @module something-nifty/lib/plugins/Plugin
*/
/**
* The base class for a 'something-nifty' plugin.
*/
class Plugin {
/**
* Constructs the plugin...
*/
constructor() {
}
}
module.exports = Plugin;
在生成的文档中,类被记录为具有@internal
标记,这意味着每当我引用类名时,我需要重复类名两次:
"use strict";
/**
* @module something-nifty/lib/foo
*/
/**
* Foo...
* @param {module:something-nifty/lib/plugins/Plugin~Plugin} plugin
*/
exports.abc = function(plugin) { ... };
当然,在这种情况下,我不需要两次指定类名,因为模块本质上就是类。使用jsdoc3标记对此进行注释的正确方法是什么,以便它输出结构正确的文档(模块和类列表)?花了一些时间搜索我能找到的最佳方法是(在我看来)“误用”以下代码片段中所示的
@alias
标记:
"use strict";
/**
* @module something-nifty/lib/plugins/Plugin
*/
/**
* The base class for a 'something-nifty' plugin.
* @alias module:something-nifty/lib/plugins/Plugin
*/
class Plugin {
/**
* Constructs the plugin...
*/
constructor() {
}
}
module.exports = Plugin;
以下链接指的是我在文章中学习到的这个@alias
技巧:
花了一些时间搜索,我能找到的最好的方法是(在我看来)误用
@alias
标记,如以下代码片段所示:
"use strict";
/**
* @module something-nifty/lib/plugins/Plugin
*/
/**
* The base class for a 'something-nifty' plugin.
* @alias module:something-nifty/lib/plugins/Plugin
*/
class Plugin {
/**
* Constructs the plugin...
*/
constructor() {
}
}
module.exports = Plugin;
以下链接指的是我在文章中学习到的这个@alias
技巧: