UNPKG

2.97 kBMarkdownView Raw
1## 简介
2一款自动化生成文档工具,可通过schema文件生成数据库文档,通过路由文件、接口代码、注释等生成接口文档,每次commit自动更新文档,让人专注于代码编写。目前程序初次实现,还有很多功能需要完善,许多地方需要优化。
3
4## 安装
5
6 `npm i createDOC -g`
7
8## 使用
9
10```sh
11Usage: createDOC [options] [command]
12 Commands:
13
14 show 显示当前状态
15 run 启动程序
16 modifyhook 修改项目下的hooks文件
17
18 Options:
19
20 -h, --help output usage information
21 -V, --version output the version number
22```
23
24**使用方法:**
25
261. 在开发项目根目录使用该命令工具,在项目根目录新建`doc.json`文件,指定`schema`存储目录,和`markdown`文件输出路径,文件样例如下。
272. 使用`createDOC -h`或者`createDOC -V(大写)`来确定`createDOC`是否安装成功。
283. 单独运行程序使用`createDOC run`命令。
294. 使用`createDOC modifyhook`命令修改本地钩子文件,之后无需任何操作,项目每次`commit`文档会自动更新。
305. 使用`createDOC show`命令随时查看输入输出路径,确保输入输出路径正确。
31```json
32{
33 "schemas":"/Users/mac/Desktop/testssss/models/",
34 //schema文件目录,目前所有schema文件都需要存在此目录的根目录,暂时 TODO:不支持子目录
35 "markdown": {
36 "path": "/Users/mac/Desktop/",
37 "file": "dbDocument.md"
38 }
39 //markdown文档输出目录和文件名
40}
41```
42## 注意
431. 尽量全局安装。
442. schema文件格式,
45 1. 如果文件存在`tableName`属性,表名称为`tableName`的值,否则表名称设置为当前文件名。
46 2. 字段属性和值的关系必须严格遵守`key:{}`的格式,`:{``: {`是必须存在的标示,用于切割内容。
47 3. 单行注释使用`//这是注释`
48 4. 多行注释使用`/* 这是注释*/`,切勿出现多行`//`的情况。
49 5. 示例如下(注:只需要上述4条件满足,其他诸如示例前两行的`sequelize`官方格式为非必须,同时字段属性写法也无限制)。
503. 包版本更新后需要重新使用`createDOC modifyhook`命令设置本地钩子。
51```javascript
52module.exports = function(sequelize, DataTypes) {
53 return sequelize.define('test_zk_absence', {
54 //这是id
55 id: {
56 type: DataTypes.INTEGER,
57 allowNull: false,
58 primaryKey: true,
59 autoIncrement: true
60 },
61 //这是end_data
62 end_date: {
63 type: DataTypes.DATE,
64 allowNull: true
65 },
66 /*
67 {
68 a:1,
69 b:2,
70 c:{a:2},
71 d:'2222'
72 }
73 */
74 type_id: {
75 type: DataTypes.INTEGER,
76 allowNull: true
77 },
78 updated_at: {
79 type: DataTypes.DATE,
80 allowNull: false
81 }
82 }, {
83 tableName: 'test_zk_absence'
84 });
85 };
86```
87## TODO
881. 代码逻辑优化,适应力更强。
892. 代码速度、质量优化。
903. 增加路由、代码、注释文档生成功能。
\No newline at end of file