我的后端NodeJS框架Summer发布了

1,200 阅读2分钟

Screen Shot 2022-05-01 at 21.38.31.png

官网  summerjs.dev

Github   github.com/calidan-x/​…

希望大家能给项目点颗星 ⭐


2020年起我开始给客户做咨询服务 

我的开发工作主要是写前端,同时我也开始兼顾Java后端开发,在经历了一年的Spring Boot开发后,我了解到了Java后端开发的好处,数据类型的严谨性,注入与注解写法的易用性。

也开始琢磨着能不能自己写一套类似Spring Boot的NodeJS后端框架。在利用NodeJS程序内存使用少,更适用于无服务,编写代码更灵活的特点基础上,提高代码类型判断的严谨性,Summer框架就此开始....

之后我把许多工程开发上的具体问题的解决方案都融入到了框架中,每个模块都尽可能的做细做好。

到今天Summer实现了后端需要的95%主要功能,还支持插件扩展包括:

  • Restful路由
  • 请求验证
  • 中间件
  • 服务注入
  • DTO转换
  • Session与Cookie
  • 文件上传
  • 日志
  • 跨域
  • 自定义装饰器(注解)
  • 环境配置
  • 部署打包(Serverless支持)
  • 静态服务器
  • 测试
  • 数据库
  • Swagger文档生成 ...

Summer 的目标是提供一个简单快捷的适用于微服务与无服务(​Serverless)的高质量企业级框架。

主要特点

  • 愉快的编程体验
    Summer 关心程序员的代码编写体验,将学习难度和编码难度降低,让你轻松完成开发工作。

  • 运行时 TypeScript 请求验证
    TypeScript在编译后会消去类型变成 JavaScript 代码,API数据请求的类型判断在其他 NodeJS 后端框架通常需要在请求的DTO上做额外标注,Summer在编译时可以读取并自动标注请求结构类型,省去了类型的重复标注。

  • 简单 DTO 转换
    后端开发会有大量的代码在做 DTO 转换,类似Java这样的开发语言碰到大对象常常要做大量的赋值,Summer提供了简单DTO转换方法。

  • 自定义 Decorator
    除内置的 Decorator 外,Summer还提供了简易的 Decorator 创建方法,让你轻松写出 @RequireLogin 之类的功能,让你的代码更优雅。

  • 一次编译部署多种类型服务器
    Summer 使用 ESBuild 打包,一次性打包成一个可执行文件,让部署变得更简单。这个兼容的可执行文件不仅可以使用 node 命令启动运行在Linux服务器或 K8S 集群,还可以直接部署到 Serverless 平台(AWS Lambda/阿里云FC),不需要修改任何配置。