博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
typescript文档化工具——Typedoc
阅读量:7038 次
发布时间:2019-06-28

本文共 3926 字,大约阅读时间需要 13 分钟。

Typedoc

简介:

Typedoc 是一个 TypeScript 语言的文档生成工具,类比 jsdoc。

构建出来的项目api网页样例:

Typedoc 参考链接:

名称    作用    备注@param    参数描述    仅供类、接口、方法注释时使用。同一个注释块可同时出现多个param描述。@return    返回描述    仅供方法注释时使用。除void方法外其它所有方法必须有一个return描述。@throws    异常描述    零到多个。@exception    异常描述    零到多个。@author    作者    类和接口注释中必须有。可有零到多个。@version    版本描述    类和接口注释中必须有。零或一个。@see    参考描述    可有零到多个。@since    起始版本    只有一个。@serial    序列化描述    或@serialField或@serialData,可有多个@deprecated    废除标志    最多一个。

项目使用

这个可归属到

1.安装模块

npm i -D gulp typedoc gulp-typedoc

2.创建 gulp配置文件

在项目根目录下创建 gulp配置文件gulpfile.js

var gulp = require('gulp');var typedoc = require("gulp-typedoc"); gulp.task("typedoc", function() {    return gulp        .src(["src/**/*.ts"])        .pipe(typedoc({            exclude:["node_modules",                    "**/*+(index|.worker|.e2e).ts"],            // TypeScript options (see typescript docs)            module: "commonjs",            target: "es5",            includeDeclarations: false,             // Output options (see typedoc docs)            out: "./doc",             // TypeDoc options (see typedoc docs)            name: "my-project",            ignoreCompilerErrors: false,            version: true,        }))    ;});

src :目标文件可以填写多个

exclude :排除一些文件
out:输出的doc文件存放位置
ignoreCompilerErrors:是否忽略错误

3.生成doc

写测试代码src/math/color.ts

export class color{    /**     * r通道     */    r:number;    /**     * g通道     */    g:number;    /**     * b通道     */    b:number;    /**     * a通道     */    a:number;    /**     * 红色     */    static readonly Red:color=new color(1,0,0,1);    constructor(r:number=1,g:number,b:number=1,a:number=1)    {        this.r=r;        this.g=g;        this.b=b;        this.a=a;    }    /**     * 复制 color     * @param from clone from     * @returns 返回 new instanced Color     */    public static clone(from: color): color    {        let item=new color(from[0],from[1],from[2],from[3]);        return item;    }    /**     * Copy the values from one color to another     *     * @param out the receiving vector     * @param a the source vector     * @returns out     */    public static copy(a: color,out: color): color{        out[0] = a[0];        out[1] = a[1];        out[2] = a[2];        out[3] = a[3];        return out;    }}

执行指令 gulp typedoc即可在目标目录生成doc文件。

typedoc使用拓展

1.typescript使用装饰器

执行gulp typedoc会报错,并导致生成doc文件失败

Experimental support for decorators is a feature that is subject to change in a future release. Set the 'experimentalDecorators' option to remove this warning.

在tsconfig.json中,experimentalDecorators已经设置为true

{    "compilerOptions": {        "module": "es6",        "target": "es5",        "sourceMap": true,        "declaration": true,        "declarationDir": "./dist/typing",        "experimentalDecorators": true,        "lib": [            "webworker",            "es6",            "es5",            "dom"          ]    },        "exclude": [        "node_moudles",        "dist"    ]}

修改gulpfile.js文件中ignoreCompilerErrors 为true,即可成功生成doc文件。

备注:虽然成功生成doc文件,但是上面的报错依旧存在,有人知道怎么解决,请可以留言。

var gulp = require('gulp');var typedoc = require("gulp-typedoc"); gulp.task("typedoc", function() {    return gulp        .src(["src/**/*.ts"])        .pipe(typedoc({            exclude:["node_modules",                    "**/*+(index|.worker|.e2e).ts"],            // TypeScript options (see typescript docs)            module: "commonjs",            target: "es5",            includeDeclarations: false,             // Output options (see typedoc docs)            out: "./doc",             // TypeDoc options (see typedoc docs)            name: "my-project",            ignoreCompilerErrors: true,            version: true,        }))    ;});

2.给function写 指导代码

参考下面的写法

/** * 复制 color * @param from clone from * @returns 返回 new instanced Color* ```* let a:color=color.clone(color.Red);* ``` */public static clone(from: color): color{    let item=new color(from[0],from[1],from[2],from[3]);    return item;}

转载地址:http://tzfal.baihongyu.com/

你可能感兴趣的文章
RMAN 内存利用介绍: PGA 以及SGA
查看>>
Java开发的利器: 反编译工具 JD-GUI
查看>>
mac配置pep8
查看>>
一次故障转移的排错
查看>>
LNMP—Nginx的用户认证
查看>>
分享一个生产环境中利用SVN上线代码的脚本
查看>>
自动安装nginx
查看>>
31 天重构学习笔记17. 提取父类
查看>>
依赖属性之“风云再起”五
查看>>
“2017中国软件大会”在京成功召开
查看>>
Android.mk文件以及Application.mk文件
查看>>
板块加密
查看>>
Linux中使用LVS实现负载均衡
查看>>
不需要修改/etc/hosts,curl直接解析ip请求域名
查看>>
mysql密码忘了
查看>>
回望“一带一路”峰会网安保障 海事局携手亚信安全智斗“永恒之蓝”
查看>>
[故障解决]Mysql-Atlas从库始终没有建立连接怎么办?
查看>>
nagios 流量监控和报警的shell脚本
查看>>
类的方法总结
查看>>
PXC搭建问题解答
查看>>