自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zhennann的博客

Cabloy.js/EggBorn.js作者,Javascript全栈开发实践者

  • 博客(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: Playground练习场

Vona 提供了一个练习场的功能,允许我们非常方便、快捷的对代码做测试,对想法做验证

2025-11-17 10:11:08 313

原创 VonaJS: 基于winston的Logger日志系统

VonaJS 基于winston提供了强大而灵活的日志系统

2025-11-17 10:07:15 1027

原创 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: 直观好用的分布式锁

VonaJS 基于Redlock提供了直观、易用的分布式锁

2025-11-12 10:00:01 363

原创 VonaJS: I18n如何支持Swagger多语言

VonaJS提供的I18n支持模块化体系。每个业务模块都可以单独提供自己的 I18n 语言资源。我们先了解I18n的一般用法,然后再看看如何支持Swagger多语言

2025-11-12 09:54:26 824

原创 VonaJS业务抽象层: 认证体系

VonaJS的内置模块a-auth提供了通用的认证体系,使用Auth Provider支持各种认证方式

2025-11-03 09:16:44 687

原创 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

原创 快来玩玩便捷、高效的Demo练习场

Vonajs 提供了一个 Demo 练习场的功能,允许我们非常方便、快捷的对代码做测试,对想法做验证

2025-06-17 11:22:45 260

原创 你认为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

原创 vue3+tsx+ioc容器全新开发体验

vue3+tsx+ioc容器全新开发体验

2024-04-12 10:06:26 533

原创 比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

chinese stories

Chinese stories

2019-02-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除