热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

jsdoc安装与配置

0环境本文档采用npm版本为6.11.3jsdoc官网1使用NPM安装JSDoc首先,新建一个工程目录,不妨为jsdoc_demo。创建完成后进

0 环境

本文档采用npm版本为6.11.3

jsdoc官网


1 使用NPM安装JSDoc

首先,新建一个工程目录,不妨为jsdoc_demo。创建完成后进入目录

执行

npm init -y

在这里插入图片描述

生成一个package.json文件

安装jsdoc

npm i -D jsdoc

在这里插入图片描述

package.json中会新增开发依赖配置项

在这里插入图片描述


2 配置

jsdoc需要一个配置文件,如果你不创建它,jsdoc会使用默认值

首先,在工程根目录创建一个文件jsdoc.json,并从官网复制默认内容进去

{"plugins": [],"recurseDepth": 10,"source": {"includePattern": ".+\\.js(doc|x)?$","excludePattern": "(^|\\/|\\\\)_"},"sourceType": "module","tags": {"allowUnknownTags": true,"dictionaries": ["jsdoc","closure"]},"templates": {"cleverLinks": false,"monospaceLinks": false}
}

具体配置项请阅读官网配置说明,本文档不深究配置项。下面对该配置文件进行修改,修改后如下

{"plugins": ["plugins/markdown"],"source": {"include": ["src"],"includePattern": ".js$","excludePattern": "(node_modules/|docs)"},"sourceType": "module","templates": {"cleverLinks": true,"monospaceLinks": true},"opts": {"recurse": true,"destination": "./docs/"}
}

打开package.json文件,添加执行脚本,下面是脚本添加后的内容

"scripts": {"test": "echo \"Error: no test specified\" && exit 1","doc": "jsdoc -c jsdoc.json"},

3 测试

按照配置,我们需创建名为src的源文件夹,该文件夹中的js文件将会自动生成文档。

我们在src下直接创建一个index.js文件。此时,文件中没有内容,但我们可以直接执行脚本测试。

执行

npm run doc

在这里插入图片描述

我们会发现工程根目录下多了一个docs文件夹,这是jsdoc按照配置文件的配置生成的。进入docs文件夹,直接打开index.html查看效果

在这里插入图片描述

文档成功生成,但除了模板啥内容没有

我们在index.js中添加一些内容

// @ts-check/*** Student Name* @type {string}*/
const studentName = 'John Doe';

然后再次执行生成文档的脚本,看下效果

在这里插入图片描述

完结。后面的开发按照规范写注释,即可快速生成文档。


推荐阅读
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • Vue cli2.0 项目中使用Monaco Editor编辑器
    monaco-editor是微软出的一条开源web在线编辑器支持多种语言,代码高亮,代码提示等功能,与VisualStudioCode功能几乎相同。在项目中可能会用带代码编 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • 本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ... [详细]
  • 本文介绍了JavaScript进化到TypeScript的历史和背景,解释了TypeScript相对于JavaScript的优势和特点。作者分享了自己对TypeScript的观察和认识,并提到了在项目开发中使用TypeScript的好处。最后,作者表示对TypeScript进行尝试和探索的态度。 ... [详细]
  • loader资源模块加载器webpack资源模块加载webpack内部(内部loader)默认只会处理javascript文件,也就是说它会把打包过程中所有遇到的 ... [详细]
  • React 小白初入门
    推荐学习:React官方文档:https:react.docschina.orgReact菜鸟教程:https:www.runoob.c ... [详细]
  • 前言:原本纠结于Web模板,选了Handlebars。后来发现页面都是弱逻辑的,不支持复杂逻辑表达式。几乎要放弃之际,想起了Javascript中ev ... [详细]
  • ReactJSUIAnt设计空组件原文:https://w ... [详细]
  • 前言:原本纠结于Web 模板,选了Handlebars。后来发现页面都是弱逻辑的,不支持复杂逻辑表达式。几乎要放弃之际,想起了Javascript中eval函数。虽然eval函 ... [详细]
  • 如何在Vue项目中安装和使用VUX组件?
    vux2模板fork自webpack模板,基本和官方同步。1、默认为webpack2模板npminstallvue-cli-g如果还没安装vueinitairyla ... [详细]
author-avatar
zhefu
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有