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

zhennann

CabloyJS开源全栈框架作者
V2EX 第 356142 号会员,加入于 2018-10-15 11:24:26 +08:00
zhennann 最近回复了
VonaJS 提供了开箱即用的多租户系统。不仅支持共享模式(基于字段隔离)、也支持独立模式(基于数据库隔离),也支持混合模式(一部分租户使用共享模式,一部分租户使用独立模式)。参见: https://vona.js.org/zh/guide/env-config/instance/introduction.html
vonajs 的模块化体系全量采用 typescript+esm ,支持 node24+,对 dev/build/prod 都做了适配,可以算是目前最佳的实践了: https://github.com/vonajs/vona
花半天时间试一下 VonaJS ,提供了目前代码最直观、功能最全面的 ORM 框架
40 天前
回复了 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 中是很难做到的。
41 天前
回复了 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)
@ByteCat drizzle-zod 貌似只能基于 table 模型生成 zod schema ,不支持基于 relations 生成 zod schema 。就比如此文中自动生成目录树的 DTO ,drizzle-zod 该如何做呢?
先插个眼,后续我来公布答案
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5372 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 24ms UTC 08:02 PVG 16:02 LAX 00:02 JFK 03:02
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86