jsdoc

官方文档
https://jsdoc.app/

快速入门

需要安装node.jsnpm 环境

step.1 安装
  1. 创建一个新文件夹myJsdoc
mkdir myJsdoc
cd myJsdoc

2.安装jsdoc

# 全局安装
npm install -g jsdoc
# 本地安装
npm install --save-dev jsdoc
step.2 创建测试入口js文件

myJsdoc目录下创建demo.js文件,内容如下

/*** Viewer预览器** @class Viewer*/class Viewer {constructor(name){this._name = name}/*** 获取名称** @returns {string} - 返回字符串* @memberof Viewer*/getName() {return 'abc'}/*** 设置名称* * @param {*} name - 设置预览器的名称* @memberof Viewer*/setName(name) {this._name = name}/*** * 获取状态* @returns {*} - 返回状态信息* @memberof Viewer*/getState() {return {height: 12,weight: 200,enalbed: false}}}
step.3 生成文档,预览文档

执行生成文档命令

jsdoc demo.js

在当前目录下,成生了一个out文件夹

out目录下,开启一个web服务,预览文档

cd out
http-server

打开浏览器,可查看到如下内容

常用配置及指令

参数 介绍
-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版本号
step.3 模板更换

原生的jsdoc样式比较简单,网上有许多真对jsdoc3开发的样式模板,github上有许多,但是教程写得不是很明白,对于初次接触jsdoc的小伙伴,可能有点摸不着头脑,这里以docdash模板为例,介绍如何在jsdoc中引用该模板

模板与jsdoc的关系?
模板就是样式,需要依赖jsdoc。需要使用这些模板,必须先得安装jsdoc

如何更换呢?
两种方法:

方法一:我下载了一个jsdoc模板样式包,怎么在现有项目中使用呢?

step.1 首先需要安装jsdoc
step.2 直接使用命令生成js接口文档,同时指定需要引用的模板

cd myProject
npm install --save-dev jsdoc
git clone https://github.com/clenemt/docdash.git
jsdoc demo.js -t ./docdash  # 这里就是用-t 参数,指定模板路径
方法二:使用npm依赖管理安装docdash模板样式,通过配置jsdoc.json指定模板路径
  1. 安装jsdoc及docdash
cd myProject
npm install --save-dev jsdoc
npm install docdash
  1. 配置jsdoc.json
    默认jsdoc 配置文件在为conf.jsonnode_modules/jsdoc目录下,其内容如下:
{"tags": {"allowUnknownTags": true},"source": {"include": ["source/js"],"exclude": [],"includePattern": ".+\\.js(doc|x)?$","excludePattern": "(^|\\/|\\\\)_"},"plugins": [],"templates": {"cleverLinks": false,"monospaceLinks": false,"default": {"outputSourceFiles": true}},"opts": {"destination": "./docs/","recurse": true}
}

配置讲解:
opts.recurse 为递归 与命令 -r 参数等价
opts.destination为输出目录 与命令-d 参数等价
outputSourceFiles 可以关闭源文件

opts添加如下内容,即指定模板路径(docdash是通过npm安装的,所以安装好的存在node_modules目录下)

"opts": {"template": "node_modules/docdash"
}
  1. 运行生成文档
jsdoc demo.js -c conf.json

ps:如何配置文件conf.json没找到,可以在项目根目录下创建一个conf.json文件,然后在使用 生成命令时,指定配置文件即可
jsdoc

最后看一下效果

关于jsdoc的注释怎么写
http://malcolmyu.github.io/malnote/2015/04/25/Introduction-of-Jsdoc/

https://www.html.cn/doc/jsdoc/tags-example.html

最后,介绍几个漂亮的基于jsdoc的文档模板
https://github.com/clenemt/docdash
https://github.com/docstrap/docstrap
https://github.com/Nijikokun/minami
https://github.com/nhn/tui.jsdoc-template

再介绍一款React的样式指南生成器
React Styleguidist : 一款 React 样式指南生成器,可与你的团队分享在线样式指南。它列出组件支持类型,并展示基于 Markdown 文件的实时、可编辑的使用示例。
https://react-styleguidist.js.org/
https://react-styleguidist.js.org/examples/basic/#randombutton

jsdoc接口文档生成器相关推荐

  1. 使用knife接口文档生成器详细教程

    文章目录 一.接口生成器 `knife` 介绍 二.效果图 三.SpringBoot整合knife 3.1 pom.xml的文件依赖 3.2 编写Swagger2Config配置文件 3.3 注意事项 ...

  2. Spring Boot(9)之 Swagger 接口文档生成器

    1.添加依赖 spring4all工具源码 <dependency><groupId>com.spring4all</groupId><artifactId& ...

  3. jsdoc api文档_创建更好的JSDoc文档

    jsdoc api文档 Writing code documentation is one of the most relaxing experiences of my work as a back ...

  4. JSDoc --JS API文档生成器

    JSDoc 是一个JavaScript的API文档生成器. 他可以让开发者在开发的过程中, 将编写的注释通过JSDoc工具生成一个api文档, 妈妈再也不用担心我不会写接口文档了. 这里是原作者Git ...

  5. Sandcastle帮助文档生成器使用介绍

    一.软件介绍 Sandcastle是一个管理类库的文档编译器,是用于编译发布组件(Assembly)信息的一个工具,这个工具通过反射和 Xslt技术,可以从dll文件及其xml注释(命令行编译时加/d ...

  6. django 1.8 官方文档翻译:7-3 Django管理文档生成器

    Django管理文档生成器 Django的admindocs应用从模型.视图.模板标签以及模板过滤器中,为任何INSTALLED_APPS中的应用获取文档.并且让文档可以在Django admin中使 ...

  7. Laravel使用Apidoc注解自动生成Api接口文档

    本教程从零开始搭建laravel项目,并安装Apidoc扩展及使用注解生成Api接口文档的教程,该扩展支持 多应用/版本.Markdown文档.在线接口调试.接口生成器.代码模板生成器.Mock调试数 ...

  8. Javadoc (Java API 文档生成器)详解 [Javadoc 概述][Javadoc 标签][Javadoc 命令][Javadoc 生成 API 文档]

    您的"关注"和"点赞",是认可,是支持,是动力. 如意见相佐,可留言. 本人必将竭尽全力试图做到准确和全面,终其一生进行修改补充更新. 文章目录 1 Javad ...

  9. oracle web API,在Web API程序中使用Swagger做接口文档

    #### 创建Web API程序 在VS2019中创建一个ASP.NET Web应用程序,选择Web API来创建RESTful的HTTP服务项目,构选MVC和Web API核心引用. #### 安装 ...

最新文章

  1. ICCV 2021 | 国科大提出首个CNN和Transformer双体主干网络!Conformer准确率高达84.1%!...
  2. 从零开始学习「张氏相机标定法」
  3. python myqr 二维码生成
  4. Ubuntu里解压tar.xz格式
  5. LNK1000: Internal error during IncrBuildImage 链接错误解决方法
  6. java 时分秒格式小时8_Java里得到00:00:00格式的时分秒的Timestamp
  7. 【牛客 - 551E】CSL 的魔法(贪心,思维,STLmap,分块)
  8. mysql创建function 报错误1418 - This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in
  9. ElasticSearch可视化工具Dejavu安装使用
  10. Python中的非可变型的数据类型(immutable type)
  11. 腾讯云加入LoRa联盟成为发起成员,加速推动物联网到智联网的进化
  12. 知识表示学习Trans系列梳理(论文+代码)
  13. django中自定义了manager函数,使用的时候报错AttributeError: 'Manager' object has no attribute 'title_count'...
  14. python--requests库 安装及简单使用
  15. SAP打印脱机请求和输出请求管理
  16. 20个有用正则表达式
  17. 数学分析教程(科大)——1.7笔记+习题
  18. 一文看懂马尔科夫过程
  19. RK3399 opencv rtsp流报错drm prime is not supported as input pixel format
  20. 国庆长假来啦!这些消遣目的地最适合程序员

热门文章

  1. leetcode 371. 两整数之和
  2. 面试问题(你喜欢和什么样的人一起工作,不喜欢和什么样的人一起工作)
  3. restricted area是什么意思?
  4. CUDA加速图像融合
  5. 找寻密码 (50 分)
  6. MySQL大表drop/truncate操作流程
  7. 什么是智能工业相机?
  8. linux mktime函数的实现,Linux内核中mktime()函数算法分析
  9. Linux运维笔记(PDF)
  10. 高性能网页开发的14条军规