1.0.26 • Published 2 years ago
ts-doc2 v1.0.26
ts-doc2
根据ts文件中的类和方法上下文进行ast分析并获取类名、类的注释、类中方法的注释、出参、入参的注释等元数据信息生成ts文件
灵感来以及部分方法来自https://github.com/hughfenghen/ts-rpc
使用方法
1.安装ts-doc2
> npm i ts-doc2 -D
2.建立一个的json
配置文件,用于ts-doc2
读取你的配置
tsConfigFilePath(必选)
tsconfig.json文件相对于process.cwd()
的位置
例如:"./tsconfig.json"
scanDir(非必选)
需要扫描的文件夹范围;glob语法,如果不传的话默认会对process.cwd()
下所有的ts文件进行扫描
例如:["demo/controller/*.ts"]
,会扫描process.cwd()
下的demo/controller下的所有ts文件
outFilePath(非必选)
meta文件输出的位置以及名字
例如:"demo/meta.ts"
,会在process.cwd()
下的demo文件夹生成一个名为meta.ts的元数据文件
3.在需要生成的类和方法前加上注释@tsDoc
interface IFavItems {
//收藏ID
id: number
//类型 *可以是单行注释
type: number
/**
* 封面 *可以是多行注释
*/
cover: string
}
/**
* @tsDoc
* 用户相关controller
*/
class UserController {
/**
* @tsDoc
* 获取用户信息
*/
getUserInfo(
//用户id
uid: number,
//性别
gender: boolean,
//是否是会员
isVip?: boolean
): IFavItems {
return {} as any
}
}
4.在package.json新建一条script
"scripts": {
"genDoc": "ts-doc2 -c ./ts-doc2.json",//这里的ts-doc2.json 是上一步建立的json文件的名字
}
5.运行刚刚建立的script命令
> npm run genDoc
6.生成成功~
/* eslint-disable */
export const meta = [
{
"className": "UserController",
"classComments": ["用户相关controller"],
"methods": [
{
"name": "getUserInfo",
"methodComments": ["获取用户信息"],
"decorators": [],
"params": [
{"name": "uid", "comments": ["//用户id"], "required": true, "type": "\"number\""},
{"name": "gender", "comments": ["//性别"], "required": true, "type": " \"boolean\""},
{"name": "isVip", "comments": ["//是否是会员"], "required": false, "type": " \"boolean\""}
],
"returnType": "\n{\n //收藏列表\n \"fav\": [\n {\n //收藏ID\n \"id\": 0,\n //类型\n \"type\": 0,\n //封面\n \"cover\": \"\"\n }\n ],\n //用户id\n \"uid\": 0,\n //用户名\n \"uname\": \"\"\n}\n"
}
]
}
]
;
额外内容
一个用于渲染上述元数据的前端项目 https://github.com/tohrux/ts-doc2-view
1.0.26
2 years ago
1.0.25
2 years ago
1.0.24
2 years ago
1.0.23
2 years ago
1.0.22
2 years ago
1.0.21
2 years ago
1.0.20
2 years ago
1.0.19
2 years ago
1.0.18
2 years ago
1.0.17
2 years ago
1.0.16
2 years ago
1.0.15
2 years ago
1.0.14
2 years ago
1.0.13
2 years ago
1.0.11
2 years ago
1.0.10
2 years ago
1.0.8
2 years ago
1.0.7
2 years ago
1.0.6
2 years ago
1.0.5
2 years ago
1.0.4
2 years ago
1.0.3
2 years ago
1.0.2
2 years ago
1.0.1
2 years ago
1.0.0
2 years ago