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

zhennann

CabloyJS开源全栈框架作者
V2EX 第 356142 号会员,加入于 2018-10-15 11:24:26 +08:00
Prisma 不能优雅的支持 DTO,可以试试 Vona ORM
Node.js  •  zhennann  •  25 天前  •  最后回复来自 zhennann
4
Vite 打包碎片化,如何化解?
  •  1   
    Node.js  •  zhennann  •  309 天前  •  最后回复来自 PHSix
    3
    加油,为 Vue3 提供一个可媲美 Angular 的 ioc 容器
    Node.js  •  zhennann  •  328 天前  •  最后回复来自 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
    比 nestjs 更优雅的 ts 控制反转策略-依赖查找
    Node.js  •  zhennann  •  2024-04-07 12:36:11 PM  •  最后回复来自 newghost
    7
    zhennann 最近回复了
    @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)
    25 天前
    回复了 zhennann 创建的主题 Node.js Prisma 不能优雅的支持 DTO,可以试试 Vona ORM
    @ByteCat drizzle-zod 貌似只能基于 table 模型生成 zod schema ,不支持基于 relations 生成 zod schema 。就比如此文中自动生成目录树的 DTO ,drizzle-zod 该如何做呢?
    先插个眼,后续我来公布答案🐶
    26 天前
    回复了 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
    311 天前
    回复了 zhennann 创建的主题 Node.js Vite 打包碎片化,如何化解?
    @PHSix 如果采用 vite 默认的拆包配置,分成两个 chunk ,自然不会导致互相引用。但是,这会导致大量小文件的产生。为了避免这种碎片化,就需要通过 rollupOptions.output.manualChunks 定制拆包策略,比如把某些文件合成一个 chunk 。在这种情况下,如果配置不当,就会导致循环引用,参见图示的范例。
    323 天前
    回复了 gosky 创建的主题 前端开发 如何最简化化前端开发?
    建议使用[Zova]( https://github.com/cabloy/zova)框架。Zova 提供的模块化机制,让业务拆分更容易,便于开发高内聚低耦合的系统。Zova 框架同时结合了 Vue/React/Angular 的优点,并规避他们的缺点,让我们的开发体验更加优雅,并且显著减轻心智负担。

    1. Vue:Zova 仍然使用 Vue3 便利的响应式系统,但是定义响应式变量就像原生变量一样,不需要使用 ref/reactive ,自然也不需要 ref.value 。
    2. React:Zova 在一个 Render Class 中通过 tsx 语法来书写渲染逻辑,不仅可以与 TS 类型系统完美契合,也可以支持渲染代码的拆分,即便是面对复杂业务也可以保持代码的舒展与优雅。在 Zova 中没有类似 React 的众多 hook api ,大量减轻心智负担。
    3. Angular:在实际开发当中,会遇到三个场景的状态共享:组件内部状态共享、组件之间状态共享、全局状态共享。在传统的 Vue3 当中,分别采用不同的机制来实现,而在 Zova 中只需要采用统一的 IOC 容器机制即可。Zova 提供的 IOC 容器,摒弃了 Angular 繁琐的设计,概念更加清晰,功能更加强大。
    326 天前
    回复了 JeffyChen 创建的主题 前端开发 学习 react 或 vue 哪一个比较容易上手?
    @Greendays 可以试一下基于 Vue3 的 Zova 框架,提供的 IOC 容器概念更加简洁,更容易上手,再配合 Vue3 的响应式系统,开发效率非常高: https://zova.js.org/zh/guide/start/introduction.html
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2275 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 16:05 · PVG 00:05 · LAX 09:05 · JFK 12:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.