- 博客(86)
- 资源 (1)
- 收藏
- 关注
原创 VonaJS: Election
如果需要在后端启动一个独立服务,在 VonaJS 中该如何实现呢?由于 VonaJS 是分布式架构,后端可以启动多个 Workers。那么,应该在哪个 Worker 中启动独立服务呢?
2025-12-16 17:17:46
225
原创 VonaJS是如何做到文件级别精确HMR(热更新)的?
VonaJS实现了基于单文件的精确HMR(热更新)。大致流程如下:当源码文件变更时,系统会自动重新导入该文件,并替换IOC容器中注册的实例。既没有重新编译的环节,也不需要重启App。如果你要开发大型项目,没有比这个更爽的HMR机制了。
2025-12-16 17:12:58
717
原创 VonaJS: 序列化/数据脱敏(下)
VonaJS 提供了序列化能力,可以对 API 的响应数据进行转换,比如:排除密码字段,对 Email 和 Mobile 进行脱敏处理,等等。前文介绍了序列化的一般用法。这里再介绍一组工具函数。通过工具函数可以更加便利的使用序列化能力。
2025-11-14 11:34:18
988
原创 VonaJS: 序列化/数据脱敏(上)
VonaJS 提供了序列化能力,可以对 API 的响应数据进行转换,比如:排除密码字段,对 Email 和 Mobile 进行脱敏处理,等等。先介绍通用的序列化机制,再介绍一组工具函数。通过工具函数可以更加便利的使用序列化能力。
2025-11-14 11:24:41
400
原创 VonaJS: I18n如何支持Swagger多语言
VonaJS提供的I18n支持模块化体系。每个业务模块都可以单独提供自己的 I18n 语言资源。我们先了解I18n的一般用法,然后再看看如何支持Swagger多语言
2025-11-12 09:54:26
824
原创 VonaJS业务抽象层: 验证码体系
VonaJS的内置模块a-captcha提供了通用的验证码体系,使用Captcha Provider支持各种验证码方式,并且使用Captcha Scene支持不同场景的验证码使用策略
2025-11-03 09:12:46
785
原创 VonaJS AOP编程大杀器:外部切面
VonaJS中的外部切面,可以类比于Spring Boot中的AOP切面和AOP织入概念。VonaJS的外部切面不需要什么前置通知、后置通知、异常通知和环绕通知,只需提供一个同名方法就可以了。之所以可以这么简洁,是因为使用了洋葱圈模型。
2025-10-27 09:54:16
927
原创 VonaJS AOP编程:魔术方法
在VonaJS框架中,AOP编程包括三方面:控制器切面、内部切面和外部切面。内部切面包括两个能力:AOP Method和魔术方法。这里我们简要介绍一下魔术方法的用法。
2025-10-23 09:05:59
340
原创 VonaJS AOP编程:全局中间件全攻略
在VonaJS框架中,AOP编程包括三方面:控制器切面、内部切面和外部切面。控制器切面包括五能力:Middleware、Guard、Interceptor、Pipe、Filter。其中,Middleware又分为:局部中间件、全局中间件和系统中间件。
2025-10-10 14:50:33
842
原创 AOP编程有三大场景:控制器切面,内部切面,外部切面,你get到了吗?
如果用过NestJS框架都知道,在NestJS框架中AOP编程包括以下几个能力:Middleware、Guard、Interceptor、Pipe、Filter。事实上AOP编程的应用场景更广泛,上述所列5个能力仅仅是AOP编程的子集。下面,我们看看在VonaJS框架中,AOP编程是怎样的。
2025-10-10 10:16:56
669
原创 Node生态中最优雅的数据库事务处理机制
Vona ORM 对数据库事务提供了完整的支持,提供了直观、优雅、强大的特性:1. 使用装饰器启用事务;2. 事务传播机制;3. 事务补偿机制;4. 确保数据库与缓存数据一致性
2025-09-30 10:08:52
271
原创 VonaJS提供的读写分离,直观,优雅
在VonaJS中实现读写分离,只需提供一组写数据源和一组读数据源。当用户访问后端 API 时,系统会按照规则自动选择写数据源或读数据源,访问相应的数据库,从而分摊压力,提升系统性能
2025-09-29 09:38:00
860
原创 VonaJS多租户同时支持共享模式和独立模式
VonaJS 通过多实例的概念来支持多租户 SAAS 系统的开发。只需启动一个后端服务,即可支持多个实例同时运行。同时支持共享模式和独立模式。
2025-09-26 11:18:56
623
原创 Vona ORM分表全攻略
针对高并发、数据量大的场景,通常会考虑采用分表机制进行优化。下面以 Model User/Order 为例,通过查询用户的订单列表,来演示分表的使用方法
2025-09-25 15:19:08
296
原创 在Vona ORM中实现多数据库/多数据源
在Vona ORM中实现多数据库/多数据源非常直观、简便。下面以 Model User/Order 为例,通过查询用户的订单列表,来演示多数据库/多数据源的使用方法
2025-09-24 10:09:19
329
原创 能够动态推断与生成DTO是Node生态的一个重要里程碑
而 Vona ORM 首创 DTO 动态推断与生成能力,解放我们的双手,显著提升生产力。甚至可以说,对于构建更加优雅的 Node.js 后端框架而言,能够动态推断与生成 DTO,是非常重要的里程碑
2025-09-04 10:13:38
865
原创 Node.js 主流ORM框架动态分表方案大盘点
针对高并发、数据量大的场景,通常会考虑采用分库分表进行优化。在这篇文章,我们重点盘点一下Node.js主流ORM框架的动态分表方案
2025-08-24 10:33:51
411
原创 这个Database Transaction功能多多,你用过吗?
Vona ORM 对数据库事务提供了完整的支持,提供了直观、优雅、强大的特性:事务传播机制、事务补偿机制、确保数据库与缓存数据一致性
2025-08-21 15:57:30
862
原创 如何基于动态关系进行ORM关联查询,并动态推断DTO?
如果事先没有定义静态关系,在实际代码中,我们就需要提供一种使用动态关系的机制,让我们的查询、类型推断、DTO推断等能力得以正常使用。
2025-08-08 11:31:42
831
原创 Prisma不能优雅的支持DTO,试试Vona ORM吧
Prisma不能优雅的支持DTO。而Vona ORM就提供了非常便利的工具,使我们可以非常直观的动态推断出DTO,就像推断类型一样,从而解放我们的双手,显著提升生产力。甚至可以说,能够自动推断DTO,为Nodejs后端框架打开了一扇窗。
2025-08-05 11:28:18
801
原创 使用这个model操作数据库,一爽到底
我们再来看看Vonajs提供的Model能力,可以让我们用简洁、优雅的代码全方位操作数据库,比如,动态分表、软删除、多租户、动态数据源、二级缓存,等等
2025-06-30 17:47:18
740
原创 你认为Vonajs提供的这些特性会比Nestjs更好用吗?
Vonajs是一款全新的Node.js框架,提供了许多创新性的架构设计,让我们在开发任何规模的项目时,代码都能保持直观和优雅。下面,我们一起来看看这些特性,是否真的比nestjs更好用?
2025-06-04 06:51:52
767
原创 Vite打包碎片化,如何化解?
本文对Vite打包碎片化的成因进行了分析,并且提出了模块化体系,从而简化分包配置,同时又采用动态加载机制,完美规避了分包时两种隐患的发生。
2024-10-14 17:04:36
1464
原创 在Vue3中如何实现四种全局状态数据的统一管理?
在实际开发当中,会遇到四种全局状态数据:异步数据(一般来自服务端)、同步数据。同步数据又分为三种:localstorage、cookie、内存。在传统的 Vue3 当中,分别采用不同的机制来处理这些状态数据,而在 Zova 中只需要采用统一的Model机制
2024-10-10 19:25:56
1129
1
原创 在Vue3中如何为路由Query参数标注类型
与以往的OOP或者Class方案不同,Zova在界面交互层面仍然采用Setup语法,仅仅在业务层面引入IOC容器。IOC容器犹如一把钥匙,为我们打开了业务工程化的大门,允许我们探索更多工程化方面的设计和能力。
2024-08-05 22:19:23
1006
原创 加油,为Vue3提供一个可媲美Angular的ioc容器
Vue3完全胜任大型业务系统的开发。但是,我们不仅要能做到,而且要做得更好。大型业务系统的关键就是解耦合,从而减缓shi山代码的生长。而ioc容器是目前最好的解耦合工具。
2024-07-31 16:45:05
392
原创 2024已过半,还没试过在vue3中使用ioc容器吗?
Zova 是一款支持 IOC 容器的 Vue3 框架。有了 IOC 容器的加持,定义响应式状态不再需要ref/reactive,也不再需要ref.value
2024-07-08 21:52:07
965
1
原创 Vue3生态也有类似Angular的框架了
“在等待其他框架跟上的这三年”,Angular在陆陆续续抛弃之前引以为豪的设计。又由于大量的历史包袱,这些设计变更又做得扭扭捏捏,做不到轻装上阵。
2024-05-27 17:59:01
1045
原创 开发vue3,真的可以不用ref/reactive了,也不需要ref.value
Zova 是一款支持 IOC 容器的 Vue3 框架。有了 IOC 容器的加持,定义响应式状态不再需要ref/reactive,也不再需要ref.value
2024-05-16 11:35:25
866
原创 比nestjs更优雅的ioc:跨模块访问资源
CabloyJS采用ioc和依赖查找的机制,让ts的使用达到了`化类型于无形`的最佳境界,从而让我们的代码保持优雅和简洁,进而也能显著提升开发效率,保证代码质量
2024-04-10 22:35:21
952
原创 比nestjs更优雅的ts控制反转策略-依赖查找
基于TS的后端框架一般都会提供依赖容器,实现控制反转。控制反转有两种策略:依赖注入和依赖查找。CabloyJS5.0同时支持依赖注入和依赖查找,并且通过模块范围的辅助,让依赖查找的代码更加简洁高效
2024-04-05 23:28:03
963
原创 VSCode如何通过Ctrl+P快速打开node_modules中的文件
咱们新建一个NodeJS项目,必然会安装许多依赖包,因此经常需要查阅某些依赖包的源码文件。但是,由于node_modules目录包含的文件太多,出于性能考虑,在VSCode中默认情况下是禁止搜索node_modules目录的。在这种情况下,我们将不得不依次展开node_modules的文件目录树,来查找我们所需要的文件。相信这种体验一定是非常低效、恼人的。那么,我们该如何定制VSCode的这种缺省行为呢?
2023-07-06 15:55:41
1394
1
原创 看看CabloyJS是如何异步加载并执行go wasm模块的
CabloyJS提供了一个内置模块a-wasmgo,将go wasm模块的异步加载运行机制进行了封装,使我们可以非常方便的在CabloyJS项目中引入go wasm,从而支持更多的业务场景开发
2023-03-08 20:49:59
918
1
原创 开发累了就摸个鱼,帮我修改一下中式英语
上学时喜欢帮同桌找错,一个英文句子如果能找到5处错误,心里就美滋滋的。如今轮到自己写技术文档,面对满篇的中式英语却有心无力。好心的网友,如果开发累了,就摸个鱼🐟,帮我找找错吧,也找回学生时代的感觉
2022-11-28 15:55:28
1005
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅