𝗡𝗼𝗱𝗲.𝗷𝘀 𝟮𝟰 𝗡𝗮𝘁𝗶𝘃𝗲 𝗧𝘆𝗽𝗲𝗦𝗰𝗿𝗶𝗽𝘁
构建步骤几乎要成为历史了。
Node.js 24 现在原生支持 TypeScript。你可以直接在生产环境中运行 .ts 文件,无需构建步骤。这消除了代码与执行之间的摩擦。
工作原理: 运行时会解析你的 TypeScript 语法。它在加载时剥离类型注解,然后执行生成的 JavaScript。
关于此项变更的关键事实:
- 它不进行类型检查。
- 它不生成 .d.ts 文件。
- 它将 TypeScript 视为带有注解的 JavaScript。
- 运行时在执行前会丢弃这些注解。
这简化了你的部署。你不再需要管理 tsc 输出目录,也不再需要为部署配置复杂的 source map。你的源代码成为了唯一的“事实来源”(single source of truth)。
注意以下限制:
- 运行时没有类型检查。你仍然需要在 CI 流水线中运行
tsc --noEmit来捕获错误。 - 不支持
tsconfig.json的路径映射(path mappings)。 - 不支持装饰器(decorators)或自定义转换器(custom transformers)。
- 由于类型剥离,冷启动时会有轻微的性能开销。
如果你使用了像 @/utils 这样的路径别名,你仍然需要使用 bundler 或 esbuild。
如何使用:
你可以直接使用 Node 运行服务器:
node src/server.ts
为了更好的调试效果,请使用 source maps 标志:
node --enable-source-maps src/server.ts
对于依赖关系图简单的微服务来说,这是一个极佳的选择。你可以提升部署速度。然而,如果你需要进行深度优化或代码压缩(minification),请坚持使用传统的构建流水线。
目标是根据你的具体需求匹配合适的工具。