内容标签
TypeScript
一次普通的 400 错误,让我顺着客户端弹窗查到了服务端响应、共享错误码、RequestError、生产日志和 Hono RPC 类型生成。这里记录我怎样把错误链重新串起来,也说明为什么直接 import type 仍会读取服务端源码,以及我最后为何保留 dts-bundle-generator。
从 TypeScript 源码为何用 .js 后缀导入 .ts 文件说起,比较 NodeNext 与 Bundler 的模块解析目标,解释 Node 原生 ESM、rewriteRelativeImportExtensions 和构建器改写后缀的关系,并说明 Next.js、Bun 项目选择 Bundler 的理由。