ts-node 入门指南

ts-node 让 Node.js 直接运行 TypeScript:REPL、两种执行模式、与测试框架集成。本文讲解安装配置与现代定位。

最佳实践
事件循环与异步任务流转插画

ts-node 用法:ts-node script.ts 直接运行 TS,ts-node --transpile-only 跳过类型检查提速。2026 年视角:它适合存量项目维护,新项目建议直接选 TSX 或 Node 原生 TS 支持(见本系列替代方案文章)。

安装与运行

npm install --save-dev ts-node typescript @types/node

npx ts-node src/index.ts     # 运行
npx ts-node                  # REPL 交互模式

两种执行模式

  • 默认(类型检查模式):每次运行完整类型检查——安全但慢;
  • --transpile-only:只转译不检查——快,但类型错误要编辑器/CI 兜底。

生产 CI 的常见配方:ts-node --transpile-only 跑 + tsc --noEmit 单独检查。

配置

tsconfig.json 中 ts-node 段:

{
  "ts-node": {
    "transpileOnly": true,
    "esm": false,
    "compilerOptions": { "module": "CommonJS" }
  }
}

ESM 项目("type": "module")用 node --loader ts-node/esm 启动——配置复杂度是历史槽点。

生态集成

Mocha(--require ts-node/register)、老版 Jest 配置、类型化 REPL——ts-node 深度嵌入了上一个时代的工具链,这也是存量项目依然随处可见它的原因。

现代定位

新项目:TSX(体验全面更优);维护中项目:运行正常就继续,触碰相关代码时顺手评估迁移。

常见问题(FAQ)

Q:ts-node 还安全可用吗?

可用且稳定——只是演进慢。没有安全或兼容性风险,有的是"机会成本"。

Q:调试 ts-node 项目?

VS Code launch.json:runtimeArgs: ["-r", "ts-node/register"],sourcemap 自动生效。

Q:和 nodemon 搭配?

nodemon --exec ts-node src/index.ts——tsx watch 把这个组合简化成一条命令。


参考文档

本文依据公开文档整理,示例需按项目依赖版本验证;不将文档中的性能描述视为本项目实测结果。

延伸阅读

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

在线开通,按量计费,真正的云服务!

立即开始

选择观测云版本

代码托管平台