你认为Vonajs提供的这些特性会比Nestjs更好用吗?

Nestjs是一款非常强大的Node.js框架,而且入门非常容易,但是随着项目的增长,各种不便之处就会显现出来,许多代码书写起来不再像项目刚启动时直观。而Vonajs是一款全新的Node.js框架,提供了许多创新性的架构设计,让我们在开发任何规模的项目时,代码都能保持直观和优雅。下面,我们一起来看看这些特性,是否真的比nestjs更好用?

特性

特性VonaNest
Typescript
模块化体系✅scope对象:config/locale/service
全量esm模块❌commonjs
Ioc容器✅依赖注入、依赖查找
bean配置
bean全局单例✅节约内存
多租户
多数据库、多数据源
数据库事务
cli命令
菜单命令
env:环境变量✅多维配置,开箱即用
config✅多维配置,开箱即用
单文件打包、集群部署✅开箱即用
aop:前置切面: Middleware/Guard/Pipe/Interceptor/Filter✅系统中间件、全局中间件、局部中间件
aop:主体切面: @AopMethod
aop:客体切面: @Aop
ssr聚合
demo练习场❌REPL

Typescript

Typescript现在已经是开发Node.js框架的标配技能了,勿须多言。

模块化体系

Vona和Nest都提供了模块化体系,而Vona还提供了scope机制。也就是为每个模块提供了一个scope对象,通过scope对象可以非常方便的访问模块的各类资源和能力。限于篇幅,这里仅对config/locale/service加以举例说明:

1. config

首先,在模块的config文件中添加配置项:

src/module/demo-student/src/config/config.ts

export function config() {
 return {
+ title: 'hello world',
 };
}