zhennann 最近的时间轴更新
成长的过程,是脱敏的过程,也是和解的过程
2018-10-15 14:29:36 +08:00
zhennann

zhennann

CabloyJS开源全栈框架作者
V2EX 第 356142 号会员,加入于 2018-10-15 11:24:26 +08:00
Vona ORM 文档终于肝完了,欢迎拍砖
Node.js  •  zhennann  •  11 天前  •  最后回复来自 xiaoshan5733
8
Prisma 不能优雅的支持 DTO,可以试试 Vona ORM
Node.js  •  zhennann  •  67 天前  •  最后回复来自 zhennann
4
Vite 打包碎片化,如何化解?
  •  1   
    Node.js  •  zhennann  •  351 天前  •  最后回复来自 PHSix
    3
    加油,为 Vue3 提供一个可媲美 Angular 的 ioc 容器
    Node.js  •  zhennann  •  2024-10-08 10:17:10 AM  •  最后回复来自 zhennann
    29
    Angular 等了三年,那个她已经来了
    前端开发  •  zhennann  •  2024-05-29 06:55:02 AM  •  最后回复来自 zhennann
    12
    Vue3 开发新范式,不用`ref/reactive`,不用`ref.value`
    Node.js  •  zhennann  •  2024-05-29 15:35:00 PM  •  最后回复来自 zhennann
    57
    使用 ts 的最佳境界:化类型于无形
    Node.js  •  zhennann  •  2024-04-12 10:19:21 AM  •  最后回复来自 encro
    13
    zhennann 最近回复了
    花半天时间试一下 VonaJS ,提供了目前代码最直观、功能最全面的 ORM 框架
    12 天前
    回复了 zhennann 创建的主题 Node.js Vona ORM 文档终于肝完了,欢迎拍砖
    @FlashEcho 我简单解释一下,若有不妥之处,欢迎继续交流。Vona ORM 基于 Typescript 的类型体操,实现了非常便利直观的 ORM 体验。比如,可以基于静态关系或者动态关系,将任何多个 Entity 进行关联查询,并推断出多层次的实体,比如树形结构、主-明细结构、主-多级明细结构。而且,可以采用同样的机制动态推断与生成 DTO 。这些 DTO 可以直接用于 Swagger 文档的输出,以及 Reqeust 参数的校验。从实际操作上来说,就是只需定义 Entity ,和 Entity 之间的关系,剩下的都是动态推断与生成。

    如果采用 spring boot ,就要一遍又一遍的写各种 DTO 、VO 之类的东东,而且里面的字段大多数都是重复的。

    再举一个例子:在 Vona 中优先采用“依赖查找”,而不是“依赖注入”,代码更加简洁。比如,访问当前模块的 servcie ,只需`this.scope.service.student`,访问当前模块的 model ,只需`this.scope.model.student`,访问全局 service ,只需`this.bean.user`。诸如此类,由于 Typescript 的类型体操的加持,Vona 提供了大量简化代码的工程化设计,这些能力在 spring boot 中是很难做到的。
    13 天前
    回复了 zhennann 创建的主题 Node.js Vona ORM 文档终于肝完了,欢迎拍砖
    在开发后端 API 服务时,DTO 是进行参数验证、生成 Swagger 元数据的关键节点。如果不能像推断类型一样动态推断出 DTO ,那么,我们就仍然需要手工创建 DTO 。随着业务的增长,复杂的表间关系会让手工补充 DTO 的工作日益繁重。
    而 Vona ORM 首创 DTO 动态推断与生成能力,解放我们的双手,显著提升生产力。甚至可以说,对于构建更加优雅的 Node.js 后端框架而言,能够动态推断与生成 DTO ,是非常重要的里程碑。
    @XCFOX Vona ORM 是新出的框架,知道的人不多。不仅支持链式类型推断,也支持选项式类型推断,更支持 DTO 动态推断与生成
    Nestjs 由于出现的比较早,其架构设计有点老了,建议试试全新设计的 Vonajs 。Vonajs 首创 DTO 动态推断和生成的能力,值得了解一下
    为什么要排除 nest.js 呢?是否是因为 nest.js 提供的装饰器并不好用,声明一些 Openapi 相关的元信息太繁琐。
    可以试试 VonaJS ,装饰器非常简洁,而且把参数验证与 Openapi 统一在一起了,不再是两张皮(不再写两遍)。同时 Openapi 中的描述信息还支持国际化能力。可以参见:[Entity]( https://vona.js.org/zh/guide/essentials/api/entity.html)和[Controller]( https://vona.js.org/zh/guide/essentials/api/controller.html)
    67 天前
    回复了 zhennann 创建的主题 Node.js Prisma 不能优雅的支持 DTO,可以试试 Vona ORM
    @ByteCat drizzle-zod 貌似只能基于 table 模型生成 zod schema ,不支持基于 relations 生成 zod schema 。就比如此文中自动生成目录树的 DTO ,drizzle-zod 该如何做呢?
    先插个眼,后续我来公布答案🐶
    68 天前
    回复了 zhennann 创建的主题 Node.js Prisma 不能优雅的支持 DTO,可以试试 Vona ORM
    @yuankui 其实跟标题说的一样,Java 也不能很好的支持自动推断生成 DTO ,所以,开发工作繁重。对于标准的后端 API 而言,DTO 甚至可以说是必须的。因为有了 DTO ,我们就可以支持传入参数的校验,也可以支持 Swagger 元数据的生成。
    1. Vona ORM 支持“临时或一次性的连表查询”
    2. Vona ORM 支持“自动推断生成 DTO”。Prisma 不能优雅的支持 DTO 。如果不能像推断类型一样自动推断出 DTO ,那么,我们就仍然需要手工创建 DTO 。随着业务的增长,复杂的表间关系会让手工补充 DTO 的工作日益繁重。而 Vona ORM 就解决了这个痛点问题: https://www.v2ex.com/t/1150216
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   3045 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 70ms · UTC 00:25 · PVG 08:25 · LAX 17:25 · JFK 20:25
    ♥ Do have faith in what you're doing.