tsx
在vite源码仓库中使用到了tsx 第三方包
"scripts": {
"dev": "tsx scripts/dev.ts",
},
tsx github仓库: github.com/privatenumb… tsx 使用文档: tsx.is/
tsx的主要功能
- 直接运行 TypeScript 文件
- 不需要先编译成 JavaScript
- 支持 ESM 和 CommonJS 模块
- 内置 TypeScript 编译器
tsx的优势
- 开发效率
// 直接运行 TypeScript 文件
tsx scripts/dev.ts
// 不需要先编译
// 传统方式:
tsc scripts/dev.ts
node scripts/dev.js
- 实时执行
// 支持 watch 模式
tsx watch scripts/dev.ts
// 文件变化时自动重新执行
// 适合开发环境
- ESM 支持
// 支持 ESM 语法
import { something } from './module'
// 支持 package.json 中的 "type": "module"
// 不需要额外的配置
与其他工具对比
- ts-node
// ts-node 需要更多配置
ts-node --esm scripts/dev.ts
// tsx 更简单
tsx scripts/dev.ts
- node + tsc
// 传统方式需要两步
tsc scripts/dev.ts
node scripts/dev.js
// tsx 一步完成
tsx scripts/dev.ts