《TypeScript编程实战》目录
这一页是全书的总入口。它不只把 54 节标题排成一张清单,还说明这本书是给谁写的、从哪一节切入最省力,以及每一节到底解决什么问题。如果你不确定从哪开始,先读「本书定位」与「读者画像与前置知识」,再对照「学习路径」选一条;如果你已经有明确目标,可以直接跳到「分部分章节」按编号定位。
全书结构是:正文 18 章 54 节 + 本篇目录,共 55 篇。正文按工程落地的推进顺序分为四个部分,每一部分解决一类问题。编号规则有两条:章内的节用「章.节」表示,例如 7.2 是第 7 章第 2 节;节内的子小节用「章.节.序」表示,例如 7.2.3 是第 7 章第 2 节的第 3 个子小节。
如何使用本目录
这一页有三种用法,取决于你此刻的状态。
如果你刚拿到这本书,按顺序读「本书定位」「读者画像与前置知识」「学习路径」三节,用十分钟决定自己的入口章节。不要跳过这一步:选错入口比读得慢更浪费时间。
如果你已经读到一半,想查某一节在哪,直接看「分部分章节」里对应部分的表格。每一行都有一句话说明,可以帮你确认是不是你要找的那一节,避免点进去再退出来的反复。
如果你把这本书当手册用,主要会用到每一节开头的编号子小节与末尾的「小结」;不少节末尾还有一段「与本书其它章节的衔接」,专门说明本节与相邻章节的关系,适合顺着线索跳读。
一句话总结这三种用法:第一次读用它选入口,读到中途用它定位,读完之后用它查阅。目录本身不产生知识,它只负责让你少走回头路。
本书定位
这是一本 TypeScript 工程落地手册,而不是语法入门书。它假定你已经会写 TypeScript 的注解、接口、泛型与联合类型,准备把它用在真实项目里——真实项目的麻烦通常不在语法,而在「怎么搭」「怎么分层」「怎么保证上线不出事」。
它有三个刻意的取舍。第一,选型给结论:pnpm 还是 npm、Prisma 还是 Drizzle、Fastify 还是 Hono,都会给出明确建议和理由,而不是罗列所有可能。第二,示例可运行:每一节的代码都尽量保持为可直接复制运行的最小片段,配置项都标出它为什么存在。第三,不回避工程细节:类型擦除、连接池、幂等、灰度发布这些「语法书不讲但上线必踩」的内容,才是本书的主体。
如果你需要的是一份「TypeScript 语法速查」,这本书可能偏重;如果你已经写过几个能跑的项目,但总觉得结构乱、类型帮不上忙、上线心里没底,那它的节奏是合适的。
还有一点需要提前说明:本书不追求「覆盖 TypeScript 的全部语法」。像模板字面量类型、递归类型这类偏语言层面的内容,本书只在用到时点到为止,不会展开成独立章节;反过来,像连接池怎么配、幂等键存哪、灰度发布怎么切流量这些语法书里没有的工程问题,本书会讲得比较细。这个取舍决定了它适合「已经在写项目、想把项目写扎实」的人,而不是「正在学语法、想先建立完整知识地图」的人。
如果你属于后者,建议先读入门卷,把类型系统的主干走一遍,再回到本书;如果你已经能读懂主流库的 .d.ts,那本书的密度对你正好。
读者画像与前置知识
不同类型的读者,起点和建议路径差别很大。先在下面找到最接近自己的那一类。
刚学完语法的人:你会写类型,但没把它用在工程里。建议按顺序从第 1 章读到第 18 章,不要跳章——第 1、2 章建立的工程骨架,是后面所有章节的运行环境。同时请确认三件事:能独立读懂 tsconfig.json、知道 strict 打开了什么、能用 async/await 写异步流程。
这一类读者最常见的误区是「把书当文档读」——只读不敲。本书每一节都带可运行示例,请至少把第 1 章和第 5 章的示例完整跑通一遍;跑通一次比读三遍更能建立手感。
已有工程经验的人:这是本书最主要的读者群。建议快速扫过第 1 至第 4 章,把主要精力放在第 5 至第 16 章——服务端分层、数据访问、前后端契约,这些才是「类型能不能帮上忙」的分水岭。第 4 章的测试与第 17 章的可观测不要跳,它们解释了很多「类型写对了但线上还是出事」的困惑。
如果你已经有明确的技术栈(比如就是 NestJS + Prisma + React),可以把书中不涉及的框架快速略过,只吸收其中与类型相关的部分;本书的选型章节都写明了替代方案的取舍,方便你把结论迁移到自己的栈上。
从其他生态转来的人(Java / C# / Go / Python):你熟悉分层、依赖注入与 ORM,可以跳过第 1、3 章的部分内容,直接从第 5 章读起,但要特别留意四处差异——结构化类型系统(看形状不看名字)、类型擦除(运行时没有类型信息)、any 这个逃生舱,以及 Node 生态里「库只提供类型、不提供运行时校验」的默认习惯。第 16 章的契约部分对你来说信息密度最高。
请特别留意本书对「运行时校验」的处理方式:在这门语言里,静态类型不会在运行时保护你,边界上的校验必须由你自己补上——这与多数静态类型语言的直觉相反,是转过来的人最容易踩的一处坑。
三类读者的共同建议只有一条:先跑通,再理解,最后才是记住。工程知识的特点是「用不到就会忘」,与其追求读完全书,不如保证每一节都留下一个能跑的例子。
学习路径
下表给出三条典型路径。三条路径不互斥,可以先速成再补齐。
| 路径 | 适合谁 | 读哪些 | 预计用时 |
|---|---|---|---|
| 完整通读 | 刚学完语法 / 想重建工程习惯 | 第 1 章至第 18 章顺序读,每节动手跑通示例 | 10–12 周(每天 1 小时) |
| 主线速读 | 已有工程经验、急于上手业务 | 2.1、3.1、5.1、7.1、8.1、13.1、16.1、18.1 共 8 节 | 2 周 |
| 参考手册 | 已会用、需要随时查 | 按目录定位章节,优先用每节开头的编号子小节与「小结」 | 按需 |
两条补充建议:无论选哪条路径,都请完整跑通第 1 章的示例,把包管理器、strict 与构建脚本一次配置正确;如果时间允许,第 3 章的 Result/Either 与第 16 章的契约值得反复练习,它们是本书里性价比最高的两处内容。
一份可执行的十周计划
上面三条路径偏原则。如果你希望有一份可以直接照着打勾的安排,下面这份十周计划可以作为起点(按每天投入一小时估算),它对应的是「完整通读」路径。
| 周次 | 主要任务 | 完成标志 |
|---|---|---|
| 第 1 周 | 第 1–2 章:工程搭建、严格模式与配置 | 能独立起一个带严格模式与路径别名的工程 |
| 第 2 周 | 第 3–4 章:错误处理与测试 | 能写出类型化的错误流,并配上单元与集成测试 |
| 第 3 周 | 第 5–6 章:HTTP 服务与依赖注入 | 能跑起一个分层清晰、可优雅关闭的接口服务 |
| 第 4 周 | 第 7 章:数据库与 ORM | 能从 schema 生成客户端并跑通一次迁移 |
| 第 5 周 | 第 8 章:缓存 | 能为读多写少的接口加上缓存与防雪崩 |
| 第 6 周 | 第 9–10 章:队列与实时通信 | 能写出带重试的异步任务与一条推送通道 |
| 第 7 周 | 第 11–12 章:React 与 Vue/Next | 能为页面与组件建立端到端类型 |
| 第 8 周 | 第 13–14 章:表单与数据获取 | 能实现一个带校验与乐观更新的完整表单流 |
| 第 9 周 | 第 15–16 章:构建与契约 | 能优化产物体积,并让前后端共用一份契约 |
| 第 10 周 | 第 17–18 章:可观测与交付 | 能把追踪、指标与发布流水线接起来 |
这份计划的关键不在于准时,而在于每周都有产出。工程知识如果不落到代码上,遗忘速度会非常快。如果某一周的任务没有完成,宁可延长这一周,也不要为了赶进度跳过动手环节。
每周结束时,可以用三个问题自查:这一周学到的写法,我在自己的代码里用过吗?遇到报错时,我是自己读懂的还是靠搜索绕过去的?如果现在合上书,我能向别人讲清楚这一周最核心的那个概念吗?三个问题里只要有一个答不上来,就值得回头补一补再往下走。
如果你的时间只有一半,可以把第 5 周与第 9 周压缩合并,先跳过缓存与构建优化的细节——它们更接近「按需查阅」的内容,等到项目里真的用上再回来补即可。
按问题定位:十个常见入口
如果你不是想「学完一本书」,而是此刻被某个具体问题卡住了,可以直接查下表。左边是你遇到的现象,右边是应该先读的节。
| 你遇到的问题 | 先去读 |
|---|---|
工程跑不起来,tsc 和打包器对不上 | 1.1 从零搭建、1.2 严格模式与 tsconfig 分层 |
import 路径一长串 ../../,看着就烦 | 2.1 路径别名与 monorepo 结构 |
| 线上配置读错、环境变量漏了也没人发现 | 2.2 环境变量与配置的类型化 |
| 断点断在编译后的 JS 里,看不懂 | 2.3 调试与 source map |
错误处理到处 try/catch,调用方根本不知道会抛什么 | 3.1 Result/Either 与类型化错误 |
| 服务偶尔静默退出,日志里什么都没有 | 3.2 全局错误边界与未捕获异常、3.3 结构化日志与脱敏 |
| 接口返回的数据类型对不上,运行时才发现 | 13.1、13.2 表单与校验类型推导,以及 16.1 端到端契约 |
| 并发一上来就超时,数据库连接被打满 | 7.3 迁移、事务与连接池、8.3 穿透·击穿·雪崩防护 |
| 任务重复执行、消息丢了没人知道 | 9.2 重试、幂等与死信 |
| 上线之后不知道有没有问题,出问题也回不去 | 17.1、17.2 可观测,18.2、18.3 灰度发布与回滚 |
这张表覆盖的是最高频的十类问题。如果你的问题不在表里,可以先用关键词在目录里定位章节,再结合每节的「小结」判断是否命中。
需要提醒的是,上表给的是「最快解药」,不是「唯一答案」。很多现象背后是同一个根因——比如接口类型对不上,往往既要在前端补校验,也要在后端把契约收敛;表里给出的两到三节,建议按顺序读完再动手改代码。
分部分章节
下面按四个部分列出全部 18 章 54 节,每一行给出编号、标题与一句话说明。
表格里的编号规则是「章.节」,例如 7.2 表示第 7 章第 2 节。点击标题即可进入该节正文。每个部分开头都有一段导读,说明这一部分在整个推进顺序中的位置;如果你只想知道某节讲什么,直接看表格第三列的说明即可。
正文的每一节都遵循「编号标题 → 编号子小节(N.N.x)→ 小结」的写法,不少节末尾还有一段「与本书其它章节的衔接」,所以即使你从中间某节切入,也能顺着衔接线索找到上下文,不必担心前情缺失。
四个部分的规模与职责如下,可以先扫一眼,判断自己该重点读哪一部分:
| 部分 | 章节 | 节数 | 解决的问题 |
|---|---|---|---|
| 第一部分 工程基础 | 第 1–4 章 | 12 | 工程怎么搭、怎么组织、出错怎么办、怎么测 |
| 第二部分 服务端与数据 | 第 5–10 章 | 18 | 一个请求从入口到落库、缓存、队列与实时通道的完整链路 |
| 第三部分 前端与全栈 | 第 11–15 章 | 15 | 组件、表单、数据获取与构建,让前后端共用同一套类型 |
| 第四部分 契约、可观测与交付 | 第 16–18 章 | 9 | 前后端契约、线上可观测与安全发布、回滚 |
| 合计 | 第 1–18 章 | 54 | 一条从零到上线的完整工程路径 |
各部分之间的依赖关系
四个部分不是平行关系,而是层层依赖的。下面这张表说明每一部分依赖什么、又被谁依赖,方便你判断能不能跳过某一部分:
| 部分 | 依赖 | 被依赖 | 能否跳过 |
|---|---|---|---|
| 第一部分 工程基础 | 无 | 全部后续部分 | 有工程经验者可速读 |
| 第二部分 服务端与数据 | 第一部分 | 第三、四部分 | 不建议跳过 |
| 第三部分 前端与全栈 | 第一、二部分 | 第四部分 | 只做服务端者可按需选读 |
| 第四部分 契约、可观测与交付 | 全部前三部分 | 无 | 可在有真实项目时再读 |
一个实用的判断原则是:第二部分是绕不过去的地基,其余部分都可以根据你的实际工作取舍。如果你的项目前后端由同一批人维护,第三部分值得尽早补上;如果你只做后端,第三部分可以压缩到第 13 章的校验与第 16 章的契约这两处。
需要补充的是,这张表描述的是「知识依赖」,不是「阅读顺序」。你完全可以在读第二部分的同时穿插读第三部分,只要保证遇到跨端类型问题时回头补齐第 16 章的契约部分即可。
第一部分:工程基础(第 1–4 章)
这一部分解决「怎么搭、怎么组织、出错怎么办、怎么测」四个前置问题,读完你能得到一套可运行、可提交、可回归的工程骨架。它是后面所有章节的运行环境,不建议跳过。
节奏上,第 1、2 章请一次做对,把包管理器、严格模式、路径别名与调试配置固定下来;第 3 章把错误处理从「到处 try/catch」收敛成显式的类型约定;第 4 章的测试不必求全,但至少要让类型检查与覆盖率门禁跑进 CI。
这一部分有一个容易被跳过的细节:严格模式要一次开到位。很多项目为了「先跑起来」把 strict 关掉,之后再想打开,会发现几百个报错堆在一起无从下手。本书的 1.2 节给出了分层配置的做法,可以让你在不牺牲开发体验的前提下保持严格。
| 编号 | 章节 | 说明 |
|---|---|---|
| 1.1 | 从零搭建(pnpm / tsx / tsup) | 用 pnpm + tsx + tsup 起一个可运行、可打包的最小工程 |
| 1.2 | 严格模式与 tsconfig 分层 | 打开 strict,并把 tsconfig 拆成基础、环境与应用三层 |
| 1.3 | 代码规范与提交门禁(ESLint / Biome / husky) | 用 ESLint 或 Biome 加 husky,把规范卡在提交之前 |
| 2.1 | 路径别名与 monorepo 结构 | 配置 paths 别名,并规划多包仓库的目录与依赖方向 |
| 2.2 | 环境变量与配置的类型化 | 让 process.env 与配置对象在启动时就完成类型校验 |
| 2.3 | 调试与 source map | 配好 source map,在编辑器与 Node 调试器里断到原始 TS |
| 3.1 | Result/Either 与类型化错误 | 用 Result 把「可能失败」写进签名,替代裸抛异常 |
| 3.2 | 全局错误边界与未捕获异常 | 兜住 Promise 拒绝与未捕获异常,避免进程静默退出 |
| 3.3 | 结构化日志与脱敏 | 输出可检索的结构化日志,并在落盘前脱敏敏感字段 |
| 4.1 | Vitest 单元测试 | 用 Vitest 写类型友好的单元测试与测试替身 |
| 4.2 | 集成测试与 Testcontainers | 用 Testcontainers 起真实依赖,验证跨进程行为 |
| 4.3 | 类型测试与覆盖率门禁 | 用类型测试锁住契约,并把覆盖率接进流水线门禁 |
第二部分:服务端与数据(第 5–10 章)
这一部分是全书篇幅最大的一块,也是 TypeScript 在工程里最容易被低估的地方。它沿着一条请求的生命周期展开:从 HTTP 入口进来,经过中间件、依赖注入与数据访问,再落到缓存、队列与实时通道。读完你能独立设计一个分层清晰、类型贯穿始终的服务端。
六章之间有明确依赖:第 5 章的路由层是第 6 至第 10 章的宿主;第 7 章的数据访问决定了第 8 章缓存的失效策略与第 9 章任务的幂等边界;第 10 章的实时协议则可以复用第 6 章的类型化上下文。如果时间紧张,第 5、7、9 章是必读,第 6、8、10 章可以按项目实际需要选读。
这一部分刻意用了两套技术栈对照:第 5、6 章在「轻量框架(Fastify / Hono)」与「重框架(Nest 风格分层)」之间各给一条路;第 7 章在 Prisma 与 Drizzle 之间对照。目的不是让你都学会,而是让你知道每条路的代价在哪,选型时有依据。
一个务实的读法是:先按自己项目现有的栈挑一条主线读通,把第 5 章到第 10 章的链路走完;等第一遍跑通之后,再回头看另一条路,那时你会发现两者的差异其实都集中在少数几个决策点上。
| 编号 | 章节 | 说明 |
|---|---|---|
| 5.1 | HTTP 服务与路由(Fastify / Hono) | 用 Fastify 或 Hono 搭出带类型约束的路由层 |
| 5.2 | 中间件与请求上下文 | 用类型化的请求上下文在中间件之间传递数据 |
| 5.3 | 优雅关闭与健康检查 | 处理 SIGTERM、排空连接,并暴露存活与就绪探针 |
| 6.1 | 模块、提供者与依赖注入 | 用模块与提供者组织依赖,让装配关系显式可测 |
| 6.2 | 管道、守卫与拦截器 | 用管道做校验、守卫做鉴权、拦截器做横切逻辑 |
| 6.3 | 配置与生命周期 | 管理配置加载与生命周期钩子,控制启动与销毁顺序 |
| 7.1 | Prisma schema 与类型生成 | 从 schema 生成类型安全的客户端,并驱动迁移 |
| 7.2 | Drizzle 的 SQL 式类型推导 | 用 Drizzle 的查询构建器获得贴近 SQL 的类型推导 |
| 7.3 | 迁移、事务与连接池 | 管理迁移版本、事务边界与连接池容量 |
| 8.1 | 缓存层次与键设计 | 规划本地与分布式缓存层次,并设计可预测的缓存键 |
| 8.2 | Redis 类型安全封装 | 给 Redis 客户端加一层类型安全封装,收敛序列化细节 |
| 8.3 | 穿透·击穿·雪崩防护 | 用空值缓存、互斥重建与随机过期抵挡三类缓存故障 |
| 9.1 | BullMQ 队列模型与 payload 泛型 | 用泛型约束队列 payload,让生产者与消费者对齐 |
| 9.2 | 重试、幂等与死信 | 设计退避重试、幂等键与死信队列的完整闭环 |
| 9.3 | 定时任务与并发限流 | 用 cron 表达式调度重复任务,并限制并发与速率 |
| 10.1 | WebSocket 消息协议判别联合 | 用判别联合定义消息协议,让收发两端穷尽处理 |
| 10.2 | SSE 与流式响应 | 用 SSE 推送流式响应,并处理背压与断线 |
| 10.3 | 心跳、重连与广播 | 实现心跳保活、客户端重连与房间广播 |
第三部分:前端与全栈(第 11–15 章)
这一部分把类型从服务端推到浏览器:组件、表单、数据获取与构建。它的核心命题只有一个——让「接口返回的形状」和「组件消费的形状」是同一个类型,而不是两份各自维护的约定。
前四章是递进关系:第 11 章讲组件与 Hooks 的类型基座,第 12 章把它扩展到框架层(Vue 与 Next.js)的服务端渲染,第 13、14 章分别解决表单与远程数据这两个最容易类型失控的场景。第 15 章回到构建侧,讲清楚类型在打包与产物体积上付出的代价与换来的收益。做前端的人建议四章连着读;只做服务端的人至少读第 13 章,它是前后端类型断层的常见起点。
这一部分最值得带走的一条原则是:类型的价值随距离衰减。同一个类型,在定义它的模块里几乎没有成本,跨越一层调用要付一点成本,跨越进程边界(浏览器与服务端之间)则必须用契约把它固定下来。第 13 至第 15 章反复在讲的就是这件事。
如果你用的是 React 之外的前端方案,第 11、13、14 章的类型思路依然通用,只有具体 API 需要替换;第 12 章则直接给了 Vue 3 与 Next.js 两条并行的写法。
| 编号 | 章节 | 说明 |
|---|---|---|
| 11.1 | 组件 props 与泛型组件 | 给 props 建模,并写出类型不丢失的泛型组件 |
| 11.2 | Hooks 类型与自定义 Hook | 标注内置 Hook 类型,并抽出可复用的自定义 Hook |
| 11.3 | Context 与状态管理(Zustand / RTK) | 给 Context 与 Zustand/RTK 状态补上完整类型 |
| 12.1 | Vue 3 组合式 API 类型 | 用组合式 API 的泛型与类型工具描述响应式逻辑 |
| 12.2 | Next.js App Router 类型(Server Actions / Route Handlers) | 为 Server Actions 与 Route Handlers 建立端到端类型 |
| 12.3 | SSR·ISR 数据流类型 | 让服务端与客户端之间的数据流在类型上保持一致 |
| 13.1 | React Hook Form + Zod | 用 React Hook Form 与 Zod 组合出类型安全的表单 |
| 13.2 | 表单类型推导与错误映射 | 从 schema 推导表单值类型,并映射校验错误 |
| 13.3 | 复杂表单与动态字段 | 处理嵌套、数组与动态增删字段的类型 |
| 14.1 | TanStack Query 类型推导 | 让查询键与返回数据自动推导出类型 |
| 14.2 | 乐观更新与缓存失效 | 实现乐观更新与精确的缓存失效策略 |
| 14.3 | 分页、无限滚动与预取 | 建模分页与无限滚动,并用预取提升体感 |
| 15.1 | Vite 与 TS 集成 | 配好 Vite 的 TS 支持、别名与构建目标 |
| 15.2 | 代码分割与 tree-shaking | 用动态导入做代码分割,并让打包器正确摇树 |
| 15.3 | 构建性能诊断与包体积治理 | 诊断构建瓶颈,并持续治理产物体积 |
第四部分:契约、可观测与交付(第 16–18 章)
最后一部分把前三个部分的成果组织成一个能交付的系统。第 16 章解决「前后端怎么共用一份契约」,第 17 章解决「上线之后你怎么知道它出没出事」,第 18 章解决「怎么把它安全地发出去,以及发错了怎么退回来」。
这一部分的顺序不能颠倒:没有第 16 章的契约,第 17 章的追踪信息就缺少可关联的业务维度;没有第 17 章的指标,第 18 章的发布后验证就无从判断。如果你只负责其中一环,也建议把三章都读一遍,因为交付是一次端到端的协作。
篇幅上这一部分最短,但它是「把前面所有工作变成可交付成果」的收口。很多项目前三个阶段都做得不错,最后卡在发布环节——迁移脚本和代码一起上、出问题只能全量回滚、上线之后只能靠用户反馈发现问题。这三章就是针对这些场景写的。
读完之后,你应该能回答三个问题:这次改动怎么安全地发出去?发出去之后我从哪几个信号判断它是好是坏?如果判断是坏,我用什么方式在多长时间内退回来?
| 编号 | 章节 | 说明 |
|---|---|---|
| 16.1 | tRPC 端到端类型安全 | 让前后端共享一个类型定义,消除手写接口 |
| 16.2 | OpenAPI / GraphQL Codegen | 从 OpenAPI 或 GraphQL 契约生成类型化客户端 |
| 16.3 | 契约版本演进与兼容 | 设计向后兼容的契约演进与弃用策略 |
| 17.1 | OpenTelemetry 追踪 | 用 OpenTelemetry 给请求链路打上可关联的追踪信息 |
| 17.2 | 指标与告警 | 采集关键指标,并配置有意义的告警阈值 |
| 17.3 | 依赖供应链与应用安全加固 | 审计依赖供应链,并加固应用的攻击面 |
| 18.1 | Docker 与 CI/CD 流水线 | 写出多阶段镜像与可复用的 CI/CD 流水线 |
| 18.2 | 数据库迁移与灰度发布 | 让迁移与发布解耦,并安全地灰度放量 |
| 18.3 | 发布后验证与回滚 | 用发布后验证发现问题,并保证可快速回滚 |
本篇与其他内容
本页是全书唯一的导航篇,不承载具体技术内容。它的价值在于「在你需要的时候,三秒钟内把你送到正确的那一节」。
| 位置 | 标题 | 说明 |
|---|---|---|
| 目录 | 《TypeScript编程实战》目录 | 全书导航、三条学习路径与 54 节索引(即本页) |
需要说明的是,本书没有序与附录篇,正文 54 节之外只有这一页。如果你还需要 TypeScript 的语法基础、类型系统与工具类型速查,可以阅读同一系列的入门卷《TypeScript编程入门》,它按语言特性组织,与本卷的工程视角互补;两本书共用同一套术语与代码约定,先读入门卷再读本卷,衔接最顺。
两卷的分工可以这样理解:入门卷回答「这门语言能做什么」,本卷回答「在真实项目里该怎么做」。如果只读其中一本,读入门卷能让你写对代码,读本卷能让你写稳项目——后者更依赖真实项目经验,也更容易在遇到具体问题时被反复查阅。
相关专题
本书之外,本站还有若干 TypeScript 专题文章,可作为读完之后的延伸阅读。它们与本书的章节有明确对应关系:
| 延伸阅读 | 对应本书章节 |
|---|---|
| TypeScript 项目架构与 tsconfig | 与第 1、2 章呼应,展开工程配置与目录分层 |
| TypeScript 后端开发(Node.js) | 与第 5–10 章呼应,深入服务端分层与数据访问 |
| TypeScript 测试的类型安全 | 与第 4 章呼应,深入类型测试与测试架构 |
| TypeScript 运行时校验 | 与第 13 章呼应,展开校验库的选型与落地 |
| TypeScript Monorepo 与 Turborepo | 与第 2 章呼应,讲解多包仓库的构建与依赖管理 |
| TypeScript 构建性能优化 | 与第 15 章呼应,讲解产物体积与构建速度治理 |
这些专题与本书不是重复关系:本书给的是「一条完整的落地路径」,专题给的是「某一个点上更深的做法」。遇到具体问题时,先回目录定位章节,再顺着对应专题深挖。
反过来,如果你已经在某个专题里踩过坑,读本书对应章节时会有明显的「对上了」的感觉——本书会把那些零散的经验放回一条完整的工程链路里,告诉你它在整体中的位置。这也是本页把它们列出来的原因。
小结
这一页的核心信息可以浓缩成三句话:
- 结构上,全书是「正文 18 章 54 节 + 本篇目录」,按工程落地顺序分为工程基础、服务端与数据、前端与全栈、契约可观测与交付四个部分。
- 路径上,刚学完语法按顺序通读,已有工程经验从第 5 章切入,急于上手则集中读 8 节主线速读清单,已会用可当参考手册按需查。
- 方法上,每一节都遵循「编号标题 → 编号子小节(N.N.x)→ 小结」的写法,可以独立阅读,也可以顺着「与本书其它章节的衔接」跳读。
如果你已经选好了路径,可以直接从对应的章节开始。每一节的末尾都会指向下一节或相邻章节,跟着走不会迷路。
最后补一条使用建议:读本书时,请把「这一节我要解决什么问题」写在便签上,读完对照「小结」检查一遍。工程类内容的特点是「读的时候都懂,用的时候想不起来」,而目录加小结的组合,正是为了在你想不起来时能最快回到现场。
最后再重复一句:本页不需要从头读到尾。它的作用是「在你需要的时候,三秒钟内把你送到正确的那一节」。把这一页加进书签,比记住任何章节编号都有用。
继续阅读
探索更多技术文章
浏览归档,发现更多关于系统设计、工具链和工程实践的内容。