大佬教程收集整理的这篇文章主要介绍了node.js – jsdoc没有正确记录nodejs模块,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我的NodeJS模块具有以下结构:
/** @module MyModule */ (function() { function functionToExportOne {...} function functionToExportTwo {...} /** * @module MyModule.ClassToExportOne * @constructor */ function ClassToExportOne { this.classMethodOne=function() { ... } this.classMethodTwo=function() { ... } } /** @constructor */ function ClassToExportTwo { function classMethodOne() { ... } function classMethodTwo() { ... } return /** @lends {ClassToExportTwo.prototype} */ { methodOne:classMethodOne,methodTwo:classMethodTwo } } /** @exports MyModule */ <--- late addition,see comments module.exports={ functionOne:functionToExportOne,functionTwo:functionToExportTwo,classOne:ClassToExportOne,classTwo:ClassToExportTwo } })()
问题是,JSDOC
>始终无法识别内部类,
>将第一个内部类方法误认为(外部)模块的方法,
>始终跳过实际导出的模块方法.
>我最接近的是,在ClassToExportOne中,当我使用@module MyModule时.< className>接下来是@constructor(按此顺序):在这种情况下,类被识别,但只记录了构造函数,并且其方法被记录为属于父模块
我已经尝试了数千种不同的组合而没有成功:
>使用this.method = function(){…}定义内部类方法(如ClassToExportOne所示)或使用@lends {ClassToExportTwo.prototype}返回带有方法的对象(如ClassToExportTwo所示)
>在每个类的标题中使用@module MyModule.ClassToExportOne
>定义module.exports vs exports.xxxx
>声明内部类@private,声明一切@private但出口
>将@module声明移动到第一次导出之前(总乱,然后,一些东西被提升为“全局”,即使它在主闭包内!!)
>如果我添加@exports< modulename>在导出声明之前,记录方法(与类方法混合)
我已经尝试了http://usejsdoc.org/howto-commonjs-modules.html中建议的所有内容但没有成功.
我确定我错过了什么,却找不到什么.
/** * Example model. * * @module model/example */ module.exports = (function () { /** * Constructor function. * * @exports model/example.Example * @constructor * @param {string} id */ var example = function Example(id) { this.id = id; }; /** * Returns the ID. * * @memberof model/example.Example * @returns {string} the id */ example.prototype.getId = function () { return this.id; }; return example; }());
以及创建模型实例的示例:
var example = new Example("ID"); console.log(example.getId());
以上是大佬教程为你收集整理的node.js – jsdoc没有正确记录nodejs模块全部内容,希望文章能够帮你解决node.js – jsdoc没有正确记录nodejs模块所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。