直接从源代码生成JavaScript文档

直接从源代码生成JavaScript文档,javascript,node.js,documentation-generation,jsdoc,jsdoc3,Javascript,Node.js,Documentation Generation,Jsdoc,Jsdoc3,我正在寻找一种工具来生成JavaScript函数和属性的文档,即使没有与这些函数或属性相关联的适当格式的注释块(比如Doxygen) 两者之间的比较提到,即使没有注释块,JSDoc也可以解析源代码以生成文档(如我前面提到的Doxygen)。他们说所有其他工具只解析注释块 我根据从npm(在节点上)安装了JSDoc 3.3.0-alpha4,我正在尝试为我的项目生成文档。就我所知,JSDoc不会为没有相关JSDoc标志的适当注释的函数或属性生成任何文档 我知道JSDoc已经经历了多次迭代,这个功能

我正在寻找一种工具来生成JavaScript函数和属性的文档,即使没有与这些函数或属性相关联的适当格式的注释块(比如Doxygen)

两者之间的比较提到,即使没有注释块,JSDoc也可以解析源代码以生成文档(如我前面提到的Doxygen)。他们说所有其他工具只解析注释块

我根据从npm(在节点上)安装了JSDoc 3.3.0-alpha4,我正在尝试为我的项目生成文档。就我所知,JSDoc不会为没有相关JSDoc标志的适当注释的函数或属性生成任何文档

我知道JSDoc已经经历了多次迭代,这个功能是否已经被删除,或者我没有使用正确的开关?我试图检查命令行选项,但找不到任何开关。我只是这样使用它:

./node_modules/.bin/jsdoc -r -l my_project --destination doc/
我知道还有其他工具可以自动将文档块添加到代码中,例如,但这并不是我想要的。有人能解释一下吗?

我在我的项目中使用过。它不读取代码,只读取像@class、@module、@method等Yuidoc标记。。。包装在注释块中,如下所示:/***/ 只需使用Node cmd在javascript文件夹中输入并运行以下命令,即可将其用作NodeJs扩展并生成api:

yuidoc .
如果一开始你不知道如何使用它,那就有点棘手了

例如,如果您有这样一个yuidoc标记:

/**
 * @class Claculator
 * @method claculate
 * @param {Number} a
 * @param {Number} b
 * @return {Number}
 */
function calculate(a, b) {

}

/**
 * @class Graphics
 * @method drawGUI
 * @param {Number} x
 * @param {Number} y
 * @param {Number} z
 * @return {Number}
 */
function drawGUI(x, y, z) {

}
@class标记后面的所有方法/属性在生成后都将成为计算器类的一部分。因此,如果在calculate(a,b)之后有一个名为drawGUI()的方法,并且它应该属于其他类,例如Graphics,那么您应该注意,在另一个@class标记中也是如此,就像上面的示例中一样


注意:在我看来,编写注释块可以帮助您在开发过程中提高代码质量,还可以帮助您在问题发生之前发现问题。

您希望仅使用JS函数头生成哪些文档?没有参数类型,没有返回类型,没有类……这样的工具应该使用注释块(如果它们可用),但如果它们不可用,则只能使用函数、参数和属性的名称。正如我提到的比较,JSDoc确实如此。问题是JS很难分析。初学者没有类型和延迟转换。这就是为什么像asm.js这样的野兽需要告诉它变量类型的部分原因。类似地,JSDoc需要您为其提供注释块。注意,您喜欢的文档中说JSDoc分析了应用它的源代码,但这并不意味着您也不需要进行评论。这只意味着你的评论会得到更多!的确,JSDoc可能需要注释(例如,该页面上的第一个示例表明:)。不过,我原来的问题仍然成立。这是否意味着如果函数没有注释,就没有工具会向其添加文档?谢谢Vlad,但正如我在问题中所说的,我主要对读取代码的工具感兴趣,而不仅仅是专门标记注释块的工具。有很多工具可以读取标记有工具可以识别的关键字的注释,但没有那么多工具能够仅读取代码。这很奇怪,因为在其他语言中,即使代码中没有添加特定的注释标记,大多数工具也可以创建有趣的输出。