JSDoc入门使用指南 -- 手摸手教你用JSDoc(超好用的js文档生成工具)

使用JSDoc生成漂亮的文档 JSDoc是一个用于 JavaScript 的API文档生成器,类似于 Javadoc 或 phpDocumentor。可以将文档注释直接添加到源代码中。JSDoc 工具将扫描您的源代码并为您生成一个 HTML 文档网站。 阅读详情

安装

准备

  • Node.js 8.15.0+

通过npm安装

  • 全局安装:npm install -g jsdoc

    • 若出现权限问题,如 EACCES报错,最佳实践为用node版本管理器(nvm等)重装npm
  • 本地安装:npm install --save-dev jsdoc
    • 命令行工具目录:./node_modules/.bin/jsdoc

鉴于JSDoc的文档生成工具的本质,建议使用 --save-dev的本地安装模式

 

使用

书写JSDoc标签

jsdoc的使用方式非常简单,在编写代码时根据jsdoc的规则在块级注释中添加相应标签即可:

/**
* 功能:将时间戳格式化为指定格式的字符串
* @param {Number} milliSec - 要转换的时间,可以为秒、毫秒、微秒、或Date类型
* @param {String} [formatStr] - 目标格式字符串 可选 默认为:'yyyy-MM-dd hh:mm:ss'
* @returns {String} - 根据目标时间格式,将时间数值(或Date)转换成的时间字符串
*/
function formatTime(milliSec, formatStr = DEFAULT_FORMAT_STR) {
    // code
}

其中 @param、@returns即为jsdoc的常用标签,具体标签及用法可通过传送门到官网或中文文档查看

 

生成JSDoc文档

代码编写完成后,即可通过命令行生成jsdoc文档

基本用法

  • /path/to/jsdoc yourSourceCodeFile.js

// 全局安装
jsdoc yourSourceCodeFile.js
// 本地安装
./node_modules/.bin/jsdoc yourSourceCodeFile.js
  • jsdoc提供了大量命令行选项满足使用需求,这里列出一些常用选项:

    • -c 或 --configure:指定JSDoc配置文件的路径。默认为安装JSDoc目录下的conf.json或conf.json.EXAMPLE
    • -d 或 --destination:指定输出生成文档的文件夹路径。JSDoc内置的Haruki模板,使用console 将数据转储到控制台。默认为 ./out
    • -r 或 --recurse:扫描源文件和导览时递归到子目录
    • -R 或 --readme:用来包含到生成文档的README.md文件。默认为在源路径中找到的第一个README.md文件
    • -t 或 --template:用于生成输出文档的模板的路径。默认为templates/default,JSDoc内置的默认模板
    • -v 或 --version:显示jsdoc版本号
  • 更多选项可通过 -h 或 --help选项查看,或通过传送门到官网或中文文档查看
  • 每次都输入一长串命令行太过繁琐,可在配置文件中的opts参数中指定这些选项

用conf.json配置JSDoc

{
    "tags": {
        "allowUnknownTags": true
    },
    "source": {
        "include": ["./src"],
        "includePattern": ".+\\.js(doc|x)?$",
        "excludePattern": "(^|\\/|\\\\)_",
        "exclude": ["./src/index.js"]
    },
    "plugins": [],
    "opts": {
        "template": "./doc/templates/docdash",
        "encoding": "utf8",
        "destination": "./doc/doc-page/",
        "recurse": true
    },
    "templates": {
        "cleverLinks": false,
        "monospaceLinks": false,
        "default": {
            "outputSourceFiles": true
        }
    }
}

其中:

  • tags:控制那些标签允许被使用和解析
  • source:指定要用jsdoc生成文档的文件
    • include:路径组成的数组,jsdoc将为它们生成文档
    • exclude:路径组成的数组,jsdoc应忽略的路径
    • includePattern:正则表达式字符串,只有文件名匹配的文件才会被jsdoc扫描。默认为 .+.js(doc)?$ 即 .js 或 .jsdoc 结尾的文件才会被扫描
    • excludePattern:正则表达式字符串,文件名匹配的文件将被jsdoc忽略。默认为 (^|\\/|\\\\)_ 即下划线开头的文件或下划线开头的目录下的所有文件
    • 结合起来,jsdoc的执行过程是:
      • 扫描include中的所有文件(若使用了 -r 命令将在子目录中递归搜索)
      • 在上一步搜索到的文件中,使用includePattern匹配文件名,只保留相匹配的文件
      • 在上一步匹配到的文件中,使用excludePattern匹配文件名,剔除相匹配的文件
      • 在上一部生于的文件中,如果文件路径在exclude中,该文件将被剔除
      • 最终剩下的文件将通过jsdoc进行解析
  • opts:配置命令行选项,与上面讲的选项相对应
  • plugins:要启用的插件,在数组中添加插件相对于JSDoc文件夹的路径即可
  • templates:配置jsdoc所生成的文档的模板

配置完成后使用 ./node_modules/.bin/jsdoc -c path/to/yourconf.json 生成jsdoc文档即可

 

其他

改变模板

  1. 如果你觉得默认模板不好看,可以通过GitHub下载喜欢的模板,例如:
  2. 将下载好的模板文件夹放入 ./node_modules/jsdoc/templates/ 中
  3. 变更命令行选项中的 template/-t 选项为新的模板文件夹
  4. 重新生成jsdoc文档即可

添加主页

主页中可以添加对项目的描述、使用说明、注意事项等等。稳妥起见,我们不采用jsdoc自动搜索的方式

  1. 在合适的目录下新建md文件,如 ./doc/HOMEPAGE.md
  2. 变更命令行选项中的 readme/-r 为新建的文件 ./doc/HOMEPAGE.md
  3. 重新生成jsdoc文档即可

通过npm命令生成文档

如果你仍不满足使用conf.json配置后的命令行简洁程度,可以看过来

  1. 打开项目的package.json
  2. 在scripts中添加一行 "jsdoc": "node_modules/.bin/jsdoc -r -c doc/conf.json -R doc/HOMEPAGE.md"
  3. 执行 npm run jsdoc 即可

gulp中的JSDoc插件:gulp-jsdoc3

  • 安装:npm install --save-dev gulp-jsdoc3
  • 使用:

var jsdoc = require('gulp-jsdoc3');

gulp.task('doc', function (cb) {
    // jsdoc的配置文件
    var config = require('./doc/conf.json');
    gulp.src(['README.md', './src/**/*.js'], {read: false}).pipe(jsdoc(config, cb));
});

 

传送门

jsDoc注释规范 jsDoc,顾名思义,jsDoc是一个用于JavaScript的API文档生成器,类似于Javadoc或phpDocumentor。它根据JavaScript文件中的注释信息,生成JS应用程序或模块的API文档。通过使用JSDoc标记如:命名空间,类,方法参数等,从而使开发者能够轻易地阅读代码,掌握代码定义的类和和其属性和方法,从而降低维护成本并提高开发效率。 JSDoc中文文档 JSDoc官网 JSDoc注释通常应该放在代码被记录之前。为了被JSDoc解析器识别,每个注释必须以/**序列开头,以便由JSD 阅读详情

相关推荐

【漏洞复现】7-Zip目录穿越漏洞(CVE-2025-11001)

摘要:CVE-2025-11001是7-Zip(v21.02-v24.09)Windows版处理ZIP包符号链接时的高危漏洞,攻击者可构造恶意ZIP文件实现目录穿越和任意文件写入。漏洞源于路径检查缺陷,当用户解压含特殊符号链接的压缩包时,可能将文件写入系统目录。复现利用GitHub公开的Python脚本(https://github.com/pacbypass/CVE-2025-11001)可生成攻击包,需注意该漏洞仅影响Windows且需要用户交互。

LongL_GuYu的博客 1609

使用jsDoc(注释规范)

使用@typedef和@property 定义一个类型,然后在其他地方使用/*** @property {string} title 书名* @property {string} author 作者*//***/

smouns_的博客 4064

Coze平台智能体开发实战:打造测试工程师的AI助手

智能体是具备特定身份和能力的AI实体,由大语言模型(LLM)驱动,并通过插件、知识库和工作流扩展其能力。明确的角色定位:可以设定特定身份和专业领域扩展能力:通过插件连接外部工具和服务记忆能力:通过知识库存储和检索专属信息流程化处理:通过工作流执行复杂多步任务通过Coze平台创建测试工程师智能体,可以显著提升测试效率和质量。明确的角色定位:聚焦测试工程师的实际需求丰富的知识库:提供准确的领域知识支持合适的工具集成:通过插件连接现有工具链持续迭代优化:根据反馈不断改进智能体行为自动化测试生成。

hogwarts_beibei的博客 1005

JSDoc ,一个可替代 TypeScript 的方案?

许多开发者喜欢使用TypeScript,因为它具有类型检查功能。然而,这需要额外的转译步骤,可能会带来麻烦和浪费时间。本文将向您展示如何使用JSDoc来获得相同类型的控制,同时使用纯JavaScript进行最快的开发时间和更好的文档编写!JavaScript已经巩固了其作为近年来最常用的脚本语言之一的地位。它以在Web平台上编写脚本的简易性而闻名。随着语言的发展,它从最初只是一个利用Java成功的...

前端达人 950

P450酶催化循环的Amber-Gromacs混合模拟实战:从血红素加氧到产物释放

本文详细介绍了针对P450酶完整催化循环的Amber-Gromacs混合模拟实战策略。通过Amber为关键氧合血红素中间体(CPDI)构建精确力场,再利用Gromacs的高效GPU加速进行长时间尺度动力学模拟,完整覆盖从底物结合到产物释放的催化过程,为研究酶催化机制提供了强大的计算工具。

weixin_29201859的博客 315

记录思科cisco交换机升级iso步骤

Cisco Nexus 93180交换机版本升级

a635161812的博客 4378

JSDoc

JSDoc 是许多代码库中使用的一种流行的内联文档方法。 编写 JSDoc 是为了增强代码的可读性,以及方便导出 API 文档。 为什么要使用 JSDoc? JSDoc 是 DocBlock 的 JavaScript 实现,DocBlock 是一种用于各种编程语言(包括 PHP、Ruby 和 Python)的文档方法。 它提供了一种一致且可识别的文档方法。还有几个工具可以根据 JSDoc 注释自动...

lio-zero 的博客 1237

毫米波雷达SLAM实战:如何在无GPS的地下隧道实现精准三维建图(附Python代码)

本文深入探讨了在无GPS信号的地下隧道等拒止环境中,如何利用毫米波雷达SLAM技术实现精准三维建图。文章系统分析了毫米波雷达点云数据稀疏、噪声多的挑战,并提供了从环境配置、核心算法(如特征提取、ICP配准、回环检测)到全局优化的完整实战解决方案,附有可运行的Python代码,帮助开发者构建鲁棒的自主导航与建图系统。

t8u9v0w1x的博客 240

JS文档生成工具JSDoc

开发文档撰写的重要性是显而易见的,特别是针对团队的协作开发,不仅能提高团队开发效率,还可以方便他人接手项目。在自动化的今天,我们不需要手工去撰写文档,只需要编写代码的同时按照一定的规则进行注释,就可以通过工具自动生成一份详细的文档,这是很惬意的事,不是么?我还有一个更好的基于Editplus工具的前端自动化的想法,也正在项目中实施,如果精力允许,我会慢慢的写出来,分享给需要的人。JS的

yanyongshan的专栏 1778

Qt Installer Framework 简单使用

qt installer framework 简单使用

qq_42815643的博客 2576

2026马斯克《Moonshots》播客独家访谈全记录与深度解析

本次访谈是马斯克2026年首份重磅公开对话,录制于2025年12月22日美国得克萨斯州奥斯汀特斯拉超级工厂(Cybertruck与Optimus机器人核心生产基地),于2026年1月6日通过《Moonshots》播客正式上线,全时长近3小时。

lpfasd123的博客 2658

JavaScript之注释规范化(JSDoc)

介绍JavaScript中的一种规范化注释格式

knight-yun的博客 1万+

手把手教你学simulink实例:基于Simulink的风力发电系统建模与仿真

风力发电作为一种清洁、可再生的能源形式,近年来得到了快速发展。风力发电系统的性能优化和控制策略设计对于提高发电效率、降低运行成本具有重要意义。本项目旨在使用MATLAB/Simulink平台,对风力发电系统进行建模与仿真,研究其动态特性,并验证控制策略的有效性。通过建立风力发电机、传动系统、发电机及电力电子变换器等子系统的模型,实现对风力发电系统的全面分析。

MHD0815的博客 559

【亲测免费】 JSDoc:JavaScript API文档生成利器

JSDoc是一款广受好评的JavaScript API文档生成工具,自2011年起,由Michael Mathews及其贡献者团队维护。它采用JavaScript为主要编程语言,并且遵循Apache-2.0开源许可协议,允许开发者自由地使用、修改和分发。JSDoc通过解析代码中的注释来自动化文档的创建过程,极大地方便了开发者对复杂项目的理解与维护。 ## 核心功能 JSDoc的核心能力在于其能...

gitblog_01216的博客 664

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Dgeni vs JSDoc:为什么AngularJS选择自己开发文档生成工具?

当AngularJS团队在寻找理想的文档生成解决方案时,他们面临一个关键抉择:是使用成熟的JSDoc还是开发定制工具?最终,他们选择了后者——创建Dgeni这一灵活的JavaScript文档生成器。本文将深入分析这一决策背后的技术考量,揭示Dgeni如何解决JSDoc无法满足的特定需求。 [![Dgeni文档生成器logo](https://raw.gitcode.com/gh_mirrors/

gitblog_00052的博客 761

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

JSDoc:JavaScript 代码文档生成的最佳实践

使用@typedef/*** 用户信息对象* @property {string} name - 用户名* @property {number} age - 年龄* @property {string} [email] - 电子邮箱(可选)* @property {Address} address - 地址*/ /*** 地址信息* @property {string} city - 城市* @property {string} street - 街道。

不懂先生的博客 1365

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Dossier - JavaScript 文档生成工具使用教程

Dossier - JavaScript 文档生成工具使用教程 1、项目介绍 Dossier 是一个基于 JSDoc 和 Closure Compiler 的 JavaScript 文档生成工具。它能够解析你的代码并构建一个详细的类型图,然后以此生成高质量的 API 文档。Dossier 的核心是利用 Closure Compiler 的强大功能进行代码解析,支持 Closure 的注释语法,这意...

gitblog_00931的博客 575

history.js文档生成:使用JSDoc创建专业API文档

作为开发者,你是否曾经面对一个没有文档的JavaScript库而感到困惑?想要使用一个功能强大的工具,却不得不深入源码才能理解其用法?history.js作为一个处理浏览器历史记录的优秀库,同样需要清晰、专业的API文档来帮助开发者快速上手。 本文将带你了解如何使用JSDoc为history.js项目生成高质量的API文档,让你的开源项目更加易用和专业。 ## JSDoc简介 JSDoc是一...

gitblog_00407的博客 933

Autoprefixer 文档生成工具:从 JSDoc 到 API 参考自动化

Autoprefixer 是一个基于 [PostCSS](https://github.com/postcss/postcss) 的插件,它能够解析 CSS 并根据 [Can I Use](https://caniuse.com/) 网站的数据为 CSS 规则添加浏览器厂商前缀。该工具受到 Google 的推荐,并被 Twitter 和阿里巴巴等大型企业广泛使用。 [![Autoprefixer...

gitblog_00974的博客 1037

JSDoc注解

对于更复杂的对象类型,你可以使用@typedef注解来定义一个类型别名,然后在@param注解中引用这个类型别名。/*** @property {string} name - 用户的名字。* @property {number} age - 用户的年龄。* @property {string[]} [hobbies] - 用户的兴趣爱好(可选)。*//*** 创建一个用户对象。* @param {User} user - 用户对象。* @returns {User} - 创建的用户对象。

liangshanbo1215的博客 2362

最完整的qrcode.js文档生成指南:使用JSDoc自动创建API文档

你是否还在为qrcode.js库缺乏系统的API文档而烦恼?作为开发者,我们都知道良好的文档对于高效使用和维护开源库至关重要。本文将详细介绍如何使用JSDoc为qrcode.js项目自动生成专业、易用的API文档,解决文档缺失、使用困难等痛点。读完本文,你将能够: - 理解JSDoc的核心概念和基本语法 - 为qrcode.js添加规范的JSDoc注释 - 配置文档生成工具自动生成API文档 -...

gitblog_00868的博客 1071

Vue项目 *.js 使用 jsdoc 生成 JavaScript 文档

一、安装 jsdoc npm install --save-dev jsdoc 二、配置 jsdoc.json { "source": { "include": [ "src/" ], "exclude": [ "src/router" ] }, "opts": { "template": "node_modules/docdash", "encoding": "utf8", "destination": "./docs/", "recu

deary 3194

JavaScript的API文档自动生成工具jsdoc

一、概述:jsdoc是JavaScript的API文档自动生成工具 二、非项目中使用: 1、全局安装jsdoc npm install -g jsdoc 2、创建js ,命名为2.js,内容如下: /** * HelloWorld类存储一位客人的名字,并打招呼。 */ class HelloWorld { constructor(){ this.firstNa...

千里之行,始于足下! 1565

js开发文档生成工具jsdoc安装使用

1、全局安装jsdoc,需要先安装node环境哦~ npm install -g jsdoc 2、在项目根目录新建文件conf.json,内容如下: { "tags": { "allowUnknownTags": true, // 指定所用词典 "dictionaries": [ "j...

weixin_30784945的博客 555

使用JSDoc建立JavaScript代码的文档

像其他的许多编程语言一样,在一般的软件开发人员看来,JavaScript也有一个基本的缺陷:编写(或者重新编写)一个功能通常相对容易,但是要阅读现有的代码,并明确它是如何工作的, 就不那么轻松了。编写代码时可以适当地增加注释,这样当其他开发人员要理解代码如何工作,特别是要修改代码的功能时,就能减轻他们的负担,节省他们的时间和精力。Java语言引入了一个工具,名为javadoc。这个工具可以根据源代

frjcy的专栏 1994

TUI JSDoc 模板使用指南

TUI JSDoc 模板使用指南 1. 项目介绍 TUI JSDoc 模板是一个用于生成 JavaScript API 文档的开源项目。它基于 JSDoc 工具,提供了丰富的功能和自定义选项,帮助开发者快速生成美观且功能强大的文档页面。TUI JSDoc 模板支持自动完成搜索框、可折叠的导航栏、成员/方法/事件的分类展示、API 文档和示例教程的切换等功能。 2. 项目快速启动 安装 首先,确保你...

gitblog_00299的博客 974
上一篇: 使用CSS3的unicode-range实现页面字体混搭
bunny_Lover
博客等级 码龄12年 1粉丝 11原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值