推出 Turborepo NestJS + Qwik City 模板

💡 原文英文,约200词,阅读约需1分钟。
📝

内容提要

这篇文章介绍了一个新的模板,将NestJS用于后端,Qwik City用于前端,PostgreSQL用作数据库,DrizzleORM用于无缝数据库交互。该模板还包括了@tnq/backend、@tnq/client和@tnq/types等功能。主要特点包括全面支持TypeScript、Monorepo架构以及Biome用于代码检查和格式化。

🔎

延伸解读

模板的组成与分工

该模板将后端、前端和共享类型拆分为三个包:@tnq/backend 是基于 NestJS 和 DrizzleORM 的应用,@tnq/client 是使用 Qwik City 的前端应用,@tnq/types 则集中存放共享类型。这种划分让前后端可以独立开发,同时通过共享类型包保持类型定义一致,减少重复声明。

Monorepo 与工具链选择

模板采用 Turborepo 管理 Monorepo,所有应用和包都使用 TypeScript。代码检查与格式化方面,大部分项目使用 Biome,但客户端应用因 Qwik 支持尚未完善而改用 ESLint 和 Prettier。这意味着工具链并非完全统一,使用前需留意客户端与其他包在配置上的差异。

数据库交互方式

模板选用 PostgreSQL 作为数据库,并通过 DrizzleORM 实现数据库交互。DrizzleORM 被集成在 @tnq/backend 中,为 NestJS 应用提供类型安全的查询能力。对于希望在后端保持 TypeScript 类型连贯性的项目,这一组合可以减少手写 SQL 与类型定义之间的脱节。

❓

Q&A

这个模板的后端使用了什么技术?

后端使用了NestJS和DrizzleORM。

前端部分是基于什么框架的?

前端部分基于Qwik City框架。

这个模板支持哪种数据库?

该模板使用PostgreSQL作为数据库。

模板中如何实现数据库交互?

使用DrizzleORM实现无缝数据库交互。

这个模板是否支持TypeScript?

是的,模板全面支持TypeScript。

该模板采用了什么样的项目管理架构?

该模板采用Monorepo架构,简化项目管理。

🏷️

标签

➡️

继续阅读