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

zhennann

CabloyJS开源全栈框架作者
V2EX 第 356142 号会员,加入于 2018-10-15 11:24:26 +08:00
今日活跃度排名 7857
Vona ORM 文档终于肝完了,欢迎拍砖
Node.js  •  zhennann  •  1 天前  •  最后回复来自 riceball
9
Prisma 不能优雅的支持 DTO,可以试试 Vona ORM
Node.js  •  zhennann  •  86 天前  •  最后回复来自 zhennann
4
Vite 打包碎片化,如何化解?
  •  1   
    Node.js  •  zhennann  •  2024-10-27 21:40:09 PM  •  最后回复来自 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 的模块化体系全量采用 typescript+esm ,支持 node24+,对 dev/build/prod 都做了适配,可以算是目前最佳的实践了: https://github.com/vonajs/vona
    花半天时间试一下 VonaJS ,提供了目前代码最直观、功能最全面的 ORM 框架
    31 天前
    回复了 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 中是很难做到的。
    32 天前
    回复了 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)
    86 天前
    回复了 zhennann 创建的主题 Node.js Prisma 不能优雅的支持 DTO,可以试试 Vona ORM
    @ByteCat drizzle-zod 貌似只能基于 table 模型生成 zod schema ,不支持基于 relations 生成 zod schema 。就比如此文中自动生成目录树的 DTO ,drizzle-zod 该如何做呢?
    先插个眼,后续我来公布答案🐶
    87 天前
    回复了 zhennann 创建的主题 Node.js Prisma 不能优雅的支持 DTO,可以试试 Vona ORM
    @yuankui 其实跟标题说的一样,Java 也不能很好的支持自动推断生成 DTO ,所以,开发工作繁重。对于标准的后端 API 而言,DTO 甚至可以说是必须的。因为有了 DTO ,我们就可以支持传入参数的校验,也可以支持 Swagger 元数据的生成。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2539 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 09:46 · PVG 17:46 · LAX 02:46 · JFK 05:46
    ♥ Do have faith in what you're doing.