这个开源框架原本是企业内部使用,为了应对一些快速开发的小型项目。
2016年时的nodejs开源框架远没有今天功能完善,要么过于复杂学习及试错成本太高,对于小项目短平快来说完全不适用,因此在当时开发了一个应对极速交付的全栈框架。
时至今日,在前后端逐渐发展的当下,这套框架也不断完善功能,摈弃了前端部分,逐渐演变成了完全面向服务端及nodejs工具链开发的框架,适用于Http服务构建,API服务开发,CI/CD开发,效率工具开发等。
1. 配置化的服务构建方式,对入门级开发者及自动化生成网站构建服务非常友好,只需要生成一个配置就能自动搭建网站服务端。
2. 支持http/https服务构建,mysql/redis连接池,基于websocket的API服务开发等
3. 针对不同的网站类型实现了多种配置方案,比如API服务用标准模块进行配置,前端静态文件服务采用动态读取webroot的方式,前端动态网站如SPA等支持动态路由重定向返回正确的页面代码及url参数。
4. 支持命令行脚本开发(实现了精简的命令行生成器, 通过json配置实现命令行的解析, usage的生成等),支持字段校验,自定义校验,选项,别名,子命令等诸多功能,但整体实现比commander小10倍。
5. 实现了一个SQL语句构造器,支持动态sql解析,防注入等(目前只支持Mysql)
6. 实现了fs的常用功能,在原生基础上封装了常见的比如动态的获取文件列表的需求等
(比如文件列表获取这种操作往往需要过滤筛选结果,如果文件数量较多目录层级较深,性能会非常低,我实现的file模块优化了这一点,支持动态规则,支持gitignore导入等),并提供了同步和异步两种调用方式。
7. 开发了多达40+的常用内置类的扩展方法,所有方法基本都兼顾了异步调用语法和链式调用语法,让开发人员有效减少了约30%的编码量,大大提升开发效率。
8. 内置提供了诸多开发过程中的常用命令行工具,如ver命令可以查看项目已安装的包,包版本,包依赖分析等;如openthis可以快速使用命令行在当前目录启动一个http静态文件服务以分发目录内的文件;如imgthis命令行工具可以迅速处理一个图片(尺寸及品质调整),对前端临时处理图片特别友好。如uget支持以命令行方式调试接口,下载文件等。所有工具都是遵循了以快制快的原则,一行命令能解决的问题绝不多开一个工具,在电脑当前屏幕就能解决的问题绝不用鼠标在切换到别的工具上到处点。
整个项目由我独立实现及维护,自动2016年开始,2018年首次运用到千万级的项目中,之后对框架的性能开始不断升级完善。并不断参看研究了Express, Koa, Next.js等流行开发框架做功能、性能及安全性方面的对照。
目前v3.0的版本正在准备过程中,实现了重大升级,主要调整了路由能力,及中间件的引入方式。