合集-Vona:真正好用的Node.js框架

摘要:快来玩玩便捷、高效的Demo练习场Vonajs 提供了一个 Demo 练习场的功能,允许我们非常方便、快捷的对代码做测试,对想法做验证 阅读全文
posted @ 2025-06-17 11:27 濮水大叔 阅读(155) 评论(0) 推荐(0)
摘要:使用这个model操作数据库,一爽到底我们再来看看Vonajs提供的Model能力,可以让我们用简洁、优雅的代码全方位操作数据库,比如,动态分表、软删除、多租户、动态数据源、二级缓存,等等 阅读全文
posted @ 2025-06-30 17:53 濮水大叔 阅读(398) 评论(0) 推荐(0)
摘要:Prisma不能优雅的支持DTO,试试Vona ORM吧Prisma不能优雅的支持DTO。而Vona ORM就提供了非常便利的工具,使我们可以非常直观的动态推断出DTO,就像推断类型一样,从而解放我们的双手,显著提升生产力。甚至可以说,能够自动推断DTO,为Nodejs后端框架打开了一扇窗。 阅读全文
posted @ 2025-08-05 16:58 濮水大叔 阅读(322) 评论(2) 推荐(1)
摘要:如何基于动态关系进行ORM关联查询,并动态推断DTO?如果事先没有定义静态关系,在实际代码中,我们就需要提供一种使用动态关系的机制,让我们的查询、类型推断、DTO推断等能力得以正常使用。 阅读全文
posted @ 2025-08-08 11:39 濮水大叔 阅读(280) 评论(0) 推荐(1)
摘要:这个Database Transaction功能多多,你用过吗?Vona ORM 对数据库事务提供了完整的支持,提供了直观、优雅、强大的特性:事务传播机制、事务补偿机制、确保数据库与缓存数据一致性 阅读全文
posted @ 2025-08-21 11:56 濮水大叔 阅读(275) 评论(0) 推荐(0)
摘要:Node.js 主流ORM框架动态分表方案大盘点针对高并发、数据量大的场景,通常会考虑采用分库分表进行优化。在这篇文章,我们重点盘点一下Node.js主流ORM框架的动态分表方案 阅读全文
posted @ 2025-08-24 16:51 濮水大叔 阅读(421) 评论(0) 推荐(1)
摘要:能够动态推断与生成DTO是Node生态的一个重要里程碑而 Vona ORM 首创 DTO 动态推断与生成能力,解放我们的双手,显著提升生产力。甚至可以说,对于构建更加优雅的 Node.js 后端框架而言,能够动态推断与生成 DTO,是非常重要的里程碑 阅读全文
posted @ 2025-09-04 10:22 濮水大叔 阅读(178) 评论(2) 推荐(0)
摘要:在Vona ORM中实现多数据库/多数据源在Vona ORM中实现多数据库/多数据源非常直观、简便。下面以 Model User/Order 为例,通过查询用户的订单列表,来演示多数据库/多数据源的使用方法 阅读全文
posted @ 2025-09-24 10:10 濮水大叔 阅读(132) 评论(0) 推荐(0)
摘要:Vona ORM分表全攻略针对高并发、数据量大的场景,通常会考虑采用分表机制进行优化。下面以 Model User/Order 为例,通过查询用户的订单列表,来演示分表的使用方法 阅读全文
posted @ 2025-09-25 15:24 濮水大叔 阅读(181) 评论(0) 推荐(1)
摘要:VonaJS多租户同时支持共享模式和独立模式VonaJS 通过多实例的概念来支持多租户 SAAS 系统的开发。只需启动一个后端服务,即可支持多个实例同时运行。同时支持共享模式和独立模式。 阅读全文
posted @ 2025-09-26 11:21 濮水大叔 阅读(144) 评论(0) 推荐(0)
摘要:VonaJS提供的读写分离,直观,优雅🌼在VonaJS中实现读写分离,只需提供一组写数据源和一组读数据源。当用户访问后端 API 时,系统会按照规则自动选择写数据源或读数据源,访问相应的数据库,从而分摊压力,提升系统性能 阅读全文
posted @ 2025-09-29 09:46 濮水大叔 阅读(186) 评论(0) 推荐(1)
摘要:Node生态中最优雅的数据库事务处理机制Vona ORM 对数据库事务提供了完整的支持,提供了直观、优雅、强大的特性:1. 使用装饰器启用事务;2. 事务传播机制;3. 事务补偿机制;4. 确保数据库与缓存数据一致性 阅读全文
posted @ 2025-09-30 10:08 濮水大叔 阅读(197) 评论(0) 推荐(0)
摘要:AOP编程有三大场景:控制器切面,内部切面,外部切面,你get到了吗?如果用过NestJS框架都知道,在NestJS框架中AOP编程包括以下几个能力:Middleware、Guard、Interceptor、Pipe、Filter。事实上AOP编程的应用场景更广泛,上述所列5个能力仅仅是AOP编程的子集。下面,我们看看在VonaJS框架中,AOP编程是怎样的。 阅读全文
posted @ 2025-10-10 10:23 濮水大叔 阅读(321) 评论(0) 推荐(0)
摘要:VonaJS AOP编程:全局中间件全攻略在VonaJS框架中,AOP编程包括三方面:控制器切面、内部切面和外部切面。控制器切面包括五能力:Middleware、Guard、Interceptor、Pipe、Filter。其中,Middleware又分为:局部中间件、全局中间件和系统中间件。 阅读全文
posted @ 2025-10-11 10:06 濮水大叔 阅读(136) 评论(0) 推荐(1)
摘要:VonaJS AOP编程:魔术方法在VonaJS框架中,AOP编程包括三方面:控制器切面、内部切面和外部切面。内部切面包括两个能力:AOP Method和魔术方法。这里我们简要介绍一下魔术方法的用法。 阅读全文
posted @ 2025-10-23 09:04 濮水大叔 阅读(84) 评论(0) 推荐(1)
摘要:VonaJS AOP编程大杀器:外部切面VonaJS中的外部切面,可以类比于Spring Boot中的AOP切面和AOP织入概念。VonaJS的外部切面不需要什么前置通知、后置通知、异常通知和环绕通知,只需提供一个同名方法就可以了。之所以可以这么简洁,是因为使用了洋葱圈模型。 阅读全文
posted @ 2025-10-27 09:51 濮水大叔 阅读(108) 评论(0) 推荐(0)
摘要:VonaJS业务抽象层: 验证码体系VonaJS的内置模块a-captcha提供了通用的验证码体系,使用Captcha Provider支持各种验证码方式,并且使用Captcha Scene支持不同场景的验证码使用策略 阅读全文
posted @ 2025-11-03 09:30 濮水大叔 阅读(122) 评论(0) 推荐(1)
摘要:VonaJS: I18n如何支持Swagger多语言VonaJS提供的I18n支持模块化体系。每个业务模块都可以单独提供自己的 I18n 语言资源。我们先了解I18n的一般用法,然后再看看如何支持Swagger多语言 阅读全文
posted @ 2025-11-12 10:24 濮水大叔 阅读(112) 评论(0) 推荐(2)
摘要:VonaJS: 直观好用的分布式锁VonaJS 基于Redlock提供了直观、易用的分布式锁 阅读全文
posted @ 2025-11-12 10:33 濮水大叔 阅读(37) 评论(0) 推荐(0)
摘要:VonaJS: 序列化/数据脱敏(上)VonaJS 提供了序列化能力,可以对 API 的响应数据进行转换,比如:排除密码字段,对 Email 和 Mobile 进行脱敏处理,等等。先介绍通用的序列化机制,再介绍一组工具函数。通过工具函数可以更加便利的使用序列化能力 阅读全文
posted @ 2025-11-14 11:44 濮水大叔 阅读(35) 评论(0) 推荐(0)
摘要:VonaJS: 序列化/数据脱敏(下)VonaJS 提供了序列化能力,可以对 API 的响应数据进行转换,比如:排除密码字段,对 Email 和 Mobile 进行脱敏处理,等等。前文介绍了序列化的一般用法。这里再介绍一组工具函数。通过工具函数可以更加便利的使用序列化能力 阅读全文
posted @ 2025-11-14 11:46 濮水大叔 阅读(134) 评论(0) 推荐(1)
摘要:VonaJS: 基于winston的Logger日志系统VonaJS 基于winston提供了强大而灵活的日志系统。可以基于分级控制写入日志文件的内容。可以按指定的规则对日志文件进行轮换。 阅读全文
posted @ 2025-11-17 10:28 濮水大叔 阅读(153) 评论(0) 推荐(0)
摘要:VonaJS是如何做到文件级别精确HMR(热更新)的?NestJS采用项目级HMR,文件变更需重新编译并重启App,效率低。VonaJS5.0.242实现文件级HMR,直接重新导入文件并替换IOC容器实例,无需编译或重启。通过Election机制在分布式场景中监听文件变更,利用ESM模块特性强制重新加载文件,并针对不同场景(如Middleware)提供清理运行状态逻辑,确保HMR效果。该机制显著提升大型项目开发效率。 阅读全文
posted @ 2025-12-17 08:47 濮水大叔 阅读(878) 评论(0) 推荐(1)
摘要:告别 Django Admin!这个 NodeJS 全栈框架让你在 DTO 中直接配置 Table/Form 渲染VonaJS 的核心价值很明确:用 DTO 驱动 CRUD 动态渲染,把中后台开发从"写页面"变成"配字段"。 过去你需要在 Entity 里定义字段、在 DTO 里定义校验、在前端组件里定义表格列和表单控件——三个地方维护同一组字段。现在,Entity 中一行 ZovaRender.cell() 或 ZovaRender.field() 就能同时搞定显示和交互,DTO 中几个 block 就能组装出完整的页面结构。 如果你的项目是中后台系统、管理后台、数据驱动的 Web 应用,VonaJS 值得一试。 阅读全文
posted @ 2026-05-21 12:01 濮水大叔 阅读(209) 评论(0) 推荐(0)
摘要:CabloyJS 全栈框架的“两级页签”本质上不是单纯的 UI 花样,而是一种把“业务模块切换”与“模块内多工作项切换”分层管理的工作台机制。 阅读全文
posted @ 2026-06-14 11:12 濮水大叔 阅读(29) 评论(0) 推荐(0)
摘要:为什么很多主子表方案看起来能用,一到多层就开始失控?很多框架都能把第一层主子表做出来;但一旦进入第二层、第三层,系统就会开始出现那些非常熟悉的问题。Cabloy 的优势核心不只在“能生成主子表”,而在于它把主子表做成了 **可递归、可协同、可长期维护* 阅读全文
posted @ 2026-06-30 12:27 濮水大叔 阅读(19) 评论(0) 推荐(0)
摘要:在大型 Vue 项目中,如何有效管理复杂的状态?“散装版” vs “套装版”大型 Vue 项目真正难的,往往不是缺一个状态库,而是状态机制越来越多、边界越来越模糊。本文讨论为什么很多项目会长成“散装版”状态系统,以及 Zova/Cabloy 如何通过更体系化的结构,把复杂状态重新收住。 阅读全文
posted @ 2026-07-06 13:53 濮水大叔 阅读(8) 评论(0) 推荐(0)
摘要:登录态如何同时支持 SSR / CSR?Next、Nuxt、Cabloy 大盘点很多 SSR 登录态问题,表面上是“Cookie 怎么传”,实际却是四个问题缠在一起:服务端怎么确认身份?首屏怎么避免 hydration 闪烁?CSR 进入时怎么恢复?为什么前端明明拿到了用户信息,接口仍然必须重新鉴权? 阅读全文
posted @ 2026-07-13 09:45 濮水大叔 阅读(9) 评论(0) 推荐(0)
摘要:在 DTO 中使用 Form Layout 配置复杂表单,支持 Tabs/Groups/Sections本文通过一个 Student DTO 示例,介绍 Cabloy Form Layout 是什么,以及如何使用 field、section、group、tabs 和 tab 组织表单字段,实现分组、响应式布局和业务页签。 阅读全文
posted @ 2026-07-18 09:44 濮水大叔 阅读(20) 评论(0) 推荐(0)
摘要:Hooks 之后,为什么前端仍需要“包裹”能力?Hooks 已成为复用状态与交互逻辑的首选,但它没有消除另一类需求:在既有组件或元素的渲染边界外,独立处理 ref、属性、布局和呈现规则。本文从 React HOC 的自动聚焦例子出发,再通过 Cabloy/Zova Behavior 的焦点与表单字段布局示例,说明横切规则为什么仍需要可附着、可替换、可组合的“包裹”能力。 阅读全文
posted @ 2026-07-18 12:20 濮水大叔 阅读(12) 评论(0) 推荐(0)
摘要:NestJS 与 CabloyJS 的 env/config 架构对比:从环境变量到实例级配置对比 NestJS @nestjs/config 与 CabloyJS/Vona 在环境变量优先级、配置装配、运行时验证、模块配置和实例级有效配置上的设计取向,说明它们适合解决的系统边界与工程代价。 阅读全文
posted @ 2026-07-30 14:38 濮水大叔 阅读(7) 评论(0) 推荐(0)
摘要:不必把 Vue3 写成“麻花”:从状态碎片到对象协作,重新理解 Zova 的前端心智模型本文从 Vue 项目中大量 composable 解构、状态归属模糊和多套机制并行的常见体验切入,面向初学者介绍 Cabloy/Zova 如何以 Vue 3 响应式、TSX 与 Angular 风格依赖注入,建立 Controller、Bean、Model 统一协作的前端心智模型。 阅读全文
posted @ 2026-08-02 14:50 濮水大叔 阅读(179) 评论(1) 推荐(1)
摘要:为什么 AI 最擅长 React/Next.js,却很少看到真正好用的 Next.js 开源项目?React/Next.js 拥有丰富的公开训练语料,AI 因而非常擅长组件、Hook、路由和 CRUD;但企业级系统的难题在于权限、多租户、模块化、契约和长期演进。文章最后介绍 CabloyJS 如何以 Vona、Zova 与全栈协作工作流,为这类系统提供更明确的结构。 阅读全文
posted @ 2026-08-04 14:44 濮水大叔 阅读(9) 评论(0) 推荐(0)
摘要:CabloyJS 强大之处不仅仅是 IoC,而是全栈资源的寻址体系IoC 解决运行时“怎样获得协作者”;但在长期演进的全栈业务系统里,更难的问题是:一份业务资源属于谁、从哪里进入、怎样被前后端各自解析,并在状态、契约与渲染层保持同一语义。本文以 `training-student:student` 为例,拆解 Cabloy 如何用多种受约束、可映射的地址空间,把模块、Bean、HTTP/OpenAPI、路由、资源状态所有者和渲染元数据连接起来。 阅读全文
posted @ 2026-08-16 11:41 濮水大叔 阅读(3) 评论(0) 推荐(0)