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

浙公网安备 33010602011771号