问题标签 [jsdoc3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - JSDoc 的默认“主页”文本和内容
从 Node.js 运行基本的 JSDoc 编译/渲染后:
我使用目录“out”中的默认模板获得了格式良好的文档。几乎一切都符合预期!
但是当打开文档时,它总是在 index.html 页面上显示“Home”,在该初始页面上没有内容,并且在侧边栏导航中有“Home”。
我如何以及在哪里标注项目名称以替换“Home”?我还想查看项目描述,以及作者和版权信息。
这似乎是 JSDoc 中最基本的事情,但我找不到信息!根据我在互联网上找到的一些随机文章,我尝试了以下方法:
但我得不到爱。
[编辑添加:]
发现了 @file / @fileOverview / @overview (所有同义词)指令,这有点帮助,因为我现在可以描述和设置每个文件的版权/作者信息:
剩下两个“问题”需要解决:
概述说明;我认为@file 满足了我的大部分需求,但由于它是每个文件的,我仍然希望在包含文件的描述之前出现一个“介绍”类型的段落或概述段落。
用自定义文本替换“主页”文本
javascript - JSDoc侧边栏中的嵌套方法
感谢在这里找到的答案:
https://stackoverflow.com/a/19336366/592495
我的 JavaScript 文档组织良好且格式正确。每个命名空间都是其中包含的方法的“父级”。但是,导航并不像我想要的那么精细。
通过简单的命令 ( jsdoc file1.js file2.js
) 使用 node.js 工具编译/渲染后,文档将生成为默认模板。这个默认模板在侧边栏导航中显示我的命名空间,但它不显示每个包含的方法。
您可以通过将@class
指令添加到每个方法来伪造方法列表,但正如我们所知,它们并不是真正的类。
我希望看到这样的侧边栏导航:
任何我忽略的文档方向将不胜感激。
[编辑添加:]
经过实验,@class
几乎完全符合我的要求,但有一些例外:
它列出了命名空间之上的类。我不喜欢这样,因为命名空间本来就是“父母”。
JavaScript 没有那种意义上的类。不是那些被称为“类”的命名法。在阅读文档以查看“类”列表时,它会产生奇怪的断开连接。
它会自动添加“新”运算符。并非所有方法都有构造函数……您可以看到问题!
[编辑:示例代码]
所以这是当前的结构。在我用 JSDoc 注释对其进行注释之前,这是基本方法:
因此,使用对象文字表示法,顶层是整个应用程序的“命名空间”,但其中有用于不同目的的子命名空间。在这里,我有一个特定于实用程序的子命名空间,以及另一个特定于渲染的子命名空间。每个都可以有属性,但更重要的是它们每个都包含函数。这些功能应该出现在侧边栏中。现在用我当前的 JSDoc 模式来充实它:
javascript - JSDoc - 如何记录原型对象的方法
根据我对 JSDoc 中命名继承的理解,这应该可以定义@name User.format#name
,但不能
angularjs - NGDOC - 自上而下的层次结构
我有一个用 NGDOC 记录的大型 AngularJS 项目。我们有很多表格,特定的指令只能包含在特定的表格中。这现在被记录为依赖项 - 每个指令在其注释中都有 @requires my.directive:myFormContainerBlaBla。此指令的生成文档包含到依赖项部分中的 myFormContainerBlaBla 的适当链接。
但是,myFormContainerBlaBla 的文档不包含对可能在其中使用的指令的任何引用。记录指令的菜单列表也是扁平的。有没有办法做到这一点:
1) myFormContainerBlaBla 的文档包含指向所有 @require 它的指令的链接。
2) 文档化指令的菜单列表是分层排列的,即
javascript - JSDoc - 在单独的文件中创建自定义类型的正确方法
我想创建自定义类型,例如代码完成,在名为 的单独文件custom-types.js
中,以我在Rzslider 角度存储库中找到的方式,在底部的文件Rzslider.js 文件中:
这是记录自己的类型的正确方法吗?重要的是它应该放在单独的文件中,以尽可能少地用JSDoc
注释污染代码。我正在使用JSDoc 3
绑定到 Intellij 14 的插件,提前感谢您对我的帮助。
javascript - 如何给 JSDoc 添加标签?
我正在使用 Meteor,与普通 JavaScript 相比,它有一些奇怪的警告。我想添加一些标签以使文档更加明确。
@where
和@rolerequired
更具体到这个基于 Meteor 的应用程序。@where
可以在 devdocs.io 之类的文件中看到。
如何给 JSDoc 添加标签?
javascript - 带有导出对象的 JSDoc CommonJS 传递到 IIFE
更新:@spenibus 帮助我得出结论,这可能是 JSDoc 本身的问题。我在他们的 GitHub 上将我的发现添加到这个未解决的问题中。@spenibus 找到了一个解决方案,但它需要稍微修改版本的 IIFE
我在 CommonJS 模块中使用 IIFE 以便能够与 CommonJS 一起工作,并且如果 module.exports 不存在,则回退到将接口分配给窗口对象。如何正确记录这一点,以便将传入的导出对象视为 module.exports?
javascript - 返回具有特定属性和类型的对象
我有一个带有operation
两个参数str
(一个字符串)和fn
(一个函数)的函数。
- 你如何描述这个返回值?
- 这个返回值在 JSDoc 中是什么样的?
- 示例输出格式是什么?
这个@return
描述可以接受吗?
这对于@example
输出是否可以接受?
我问的主要原因是因为我想使用这种格式来测试像yamadapc/jsdoctest这样的套件中的功能。
node.js - JSDocs:记录 Node.js 快速路由
我正在努力用 JSDocs 记录 router.get 调用。如果我尝试将文档附加到我的路由器调用本身,我无法让文档在页面上正确显示。
为了解决这个问题,我为函数命名。
这行得通,但我真的很想找到一种方法来让第一种方法起作用。有没有办法记录第一个例子?我可以使用的关键字?
javascript - 如何记录使用 Object.create 创建的对象,该对象也具有原型方法
我正在尝试找出将 jsdoc3 与闭包字典一起使用的 jsdoc 的最佳方法。下面的代码几乎记录了我想要的内容,但是@class
标签在文档中添加了一个新关键字,而且我也对使用类定义感到不安,因为它并不是真正的类。
@namespace
最初似乎是一个更好的选择,但它不允许@param
在伪构造函数上进行记录或类似操作。任何帮助表示赞赏。