背景
代码工具客户端代码编辑、管理端开发配置等需要的核心能力提供服务。后端服务提供swagger文档解析、代码解析、代码生成、代码管理、配置管理等功能。
介绍
后端服务使用egg.js 框架、持久层使用sequelize、数据库使用mysql。后端服务提供:
- swagger模块服务
- 代码模块服务
- 类模块服务
- 依赖模块服务
- 属性模块服务
- 代码片段模块服务
- 组件模块服务
- 模板模块服务
系统设计
- 表设计
后端框架
1、egg.js 后端框架使用egg.js,后端接口开发遵循egg分层思维, model、service、controller。 抽象工具方法(babel解析、代码生成、ast元素方法等)
Sequelize 是一个基于 promise 的 Node.js ORM,egg.js 也提供了对应的插件。详情可以在官网查阅。
-
代码模块-代码模块
核心功能: 代码解析、插入代码、代码替换
1、解析工具:
@babel/parser 获取代码抽象语法树
2、插入代码:
@# babel/types生成节点抽象语法节点信息,在指定的抽象语法树中添加节点信息
3、代码生成:
@babel/generator,根据抽象语法树信息,调用generator代码字符串生成