node运行ts
前言
node v23开始直接支持ts,也就是说可以直接 node xxx.ts。
但是v23成为lts还需要几个月时间吧。
那么再次之前我们应该怎么让他支持呢?
tsc
标准的做法,将ts打包成js,然后再运行js。
效率低下,不方便!
ts-node
支持直接运行ts脚本:
npx ts-node index.ts
但是不支持热更新!
ts-node-dev
ts-node支持热更新版本,从名字带 dev 就知道它适合于开发环境使用:
npx ts-node-dev index.ts
好几年不更新了,也不支持 tsx 等高级能力!
tsx
ts-node-dev的进化版本:
npx tsx index.ts
原生支持 esm,对 .ts, .tsx, .jsx, .mts, .cts 文件有更好的支持
处理模块导入导出更加智能!
并且支持热更新!
总结
参考:
https://blog.csdn.net/inthat/article/details/144056248
https://blog.csdn.net/m0_74772114/article/details/141029877
| 工具 | 类型 | 支持 ESM | 速度 | 热重载 | 推荐场景 |
|---|---|---|---|---|---|
| tsc | 编译器(只编译) | ✅ | ⚡️ 快 | ❌ 无 | 构建产物、CI 构建、类型检查 |
| ts-node | 解释器 + 执行器 | ⚠️ 部分支持 | 🐢 慢 | ❌ 无 | 快速运行 .ts 脚本 |
| ts-node-dev | 监听 + 热重载 | ⚠️ 限支持 | 🚀 快 | ✅ 有 | 本地开发、自动重启服务 |
| tsx | 🚀 新派运行器(推荐) | ✅ 原生强支持 | ⚡️ 非常快 | ✅ 有 | 通用执行、现代开发 |
当然无脑推荐 tsx!

浙公网安备 33010602011771号