javascript - 使用 JSDoc-3.3.0-alpha5 记录原型(prototype)属性和方法

标签 javascript node.js jsdoc jsdoc3

我有一个名为 FileDownloader 的类我已经尝试记录它,但是使用 prototype 声明的属性和方法不会在输出文件中生成。

如标题所述,我使用的是 jsdoc 3.3.0-alpha5。

代码如下:

/**
 * @class
 * @memberOf module:utils
 */
FileDownloader = function() {};    
/**
 * @type {Boolean}
 */
FileDownloader.prototype.overwrite = false;
/**
 * @type {String}
 */
FileDownloader.prototype.dir = config.dealImagePath;    
/**
 * @param {String} url
 * @param {Function} done
 * @param {Object} done.err
 * @param {String} done.file
 */
FileDownloader.prototype.download = function(url, done) {
    //...
};

这是生成的文档:

new FileDownloader()
    | Source: path/to/file.js

有什么想法吗?

最佳答案

原因是FileDownloader 描述中的memberOf。 您应该先设置模块,文件中的所有符号都被假定为模块的成员。 http://usejsdoc.org/tags-module.html

像这样

/** @module utils */

/**
 * @class
 */
var FileDownloader = function() {};

/**
 * @type {Boolean}
 */
FileDownloader.prototype.overwrite = false;
...

关于javascript - 使用 JSDoc-3.3.0-alpha5 记录原型(prototype)属性和方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24137633/

相关文章:

node.js - 尝试实现 Node js Multimap 时出现问题

javascript - JsDoc:将参数类型定义为来自外部模块的类型

typescript - VSCode 仅在导入符号时呈现 JSDoc 链接到另一个文件

javascript - 如何有一个不在滚动对象旁边的滚动条?

javascript - "catch(console.error)"是捕获 Promise 拒绝的有效方法吗?

javascript - 设置间隔和延迟

javascript - 使用 javascript 从 html 搜索文本

ajax - 获取终端命令(Nodejs)并通过 AJAX 发送到特定端口

node.js - 找不到模块 'gulp' 的声明文件。 'c:/project/node_modules/gulp/index.js' 隐含一个 'any' 类型

javascript - 如何将@typedef 记录为@memberof a @namespace