前端

JSDoc

2016-03-26  本文已影响6482人  6ed7563919d4

随着ES2015的定稿,模块化已经成为前端开发的规范被执行,清晰的模块化使得开发者与开发者之间的依赖便的更小,当项目还小时,可以通过查找一下模块源文件中的声明就能大致了解模块的功用。然而,随着项目的不断增长以及各项目之间的整合,开发者对其他模块的内容知之甚少,如果来源于不同项目,只是项目间的依赖的话,那么源代码有可能也无法在当前开发环境下找到,此时,开发者都会想到有个API文档那该多好啊。

所以,前端代码文档化势在必行

前端代码主要以js为主,主流的文档生成器便是JSDoc,最近项目是使用的ES2105编写的,JSDoc3.4.0之后已经提供了对ES2015的支持。

安装JSDoc

npm i jsdoc -g

如何使用JSDoc

同其他语言一样,文档生成工具的原理还是通过代码注释去解析并根据一定的tag来生成文档。在JSDoc文档中明确说明了,只有以/**为开始的注释才会被JSDoc识别,其他的注释格式都会被忽略。

额外,JSDoc 默认还会将项目中的README.md文件一同生成到JSDoc最后生成的文档文件中,或通过命令--R/-readme 指定个别文件,将其添加至所生成的文档文件中,但文件格式必须是Markdown,此时,项目中的README.md将被忽略。

JSDoc命令行参数

JSDoc命令行几个常用参数有以下几个:

JSDoc配置文件

同许多js工具一样,JSDoc也有配置文件,可以通过设定配置文件来定制JSDoc。如果没有指定configuration file,将会使用一下配置。

{
    "tags": {
        "allowUnknownTags": true, // 允许使用自定义tag
        "dictionaries": ["jsdoc","closure"] // 定义tag集
    },
    "source": {
        "includePattern": ".+\\.js(doc)?$", // 将以.js, .jsdoc结尾的文件作为源文件
        "excludePattern": "(^|\\/|\\\\)_" // 忽略以_开头的文件夹及文件
    },
    "plugins": [],
    "templates": {
        "cleverLinks": false,
        "monospaceLinks": false
    }
}

以上这个是默认配置,下面解释几个常用配置。

  "opts": {
    "template": "templates/default",  // same as -t templates/default
    "encoding": "utf8",               // same as -e utf8
    "destination": "./out/",          // same as -d ./out/
    "recurse": true,                  // same as -r
    "tutorials": "path/to/tutorials", // same as -u path/to/tutorials
}

Tags

上文说了那么多,主要说的都是JSDoc如何使用和配置,和平时的编码过程中注释怎么写,要使用哪些标签并没什么联系,现在就来讲讲最重要的Tag

JSDoc中将tag分为两类,Block tagInline tag

Block tag也就是我们平时最常用的注释标签,在此列举一些常用的tag

Inline tag

Namepaths

namepath在JSDoc中起着至关重要的作用,JSDoc namepath会提供一个唯一的标识给任意一个变量,这使得你在使用inline tag时,可以方便的找到任何一个变量,从而提供一个指向该变量的链接。

MyConstructor                // 父元素
MyConstructor#instanceMember // 成员变量使用#
MyConstructor.staticMember   // 静态变量使用.
MyConstructor~innerMember    // 内部成员使用~
                             // module使用:
上一篇 下一篇

猜你喜欢

热点阅读