tsx

95 阅读1分钟

tsx

在vite源码仓库中使用到了tsx 第三方包

  "scripts": {
    "dev": "tsx scripts/dev.ts",
  },

tsx github仓库: github.com/privatenumb… tsx 使用文档: tsx.is/

tsx的主要功能

  • 直接运行 TypeScript 文件
  • 不需要先编译成 JavaScript
  • 支持 ESM 和 CommonJS 模块
  • 内置 TypeScript 编译器

tsx的优势

  1. 开发效率
   // 直接运行 TypeScript 文件
   tsx scripts/dev.ts
   
   // 不需要先编译
   // 传统方式:
   tsc scripts/dev.ts
   node scripts/dev.js
  1. 实时执行
   // 支持 watch 模式
   tsx watch scripts/dev.ts
   
   // 文件变化时自动重新执行
   // 适合开发环境
  1. ESM 支持
   // 支持 ESM 语法
   import { something } from './module'
   
   // 支持 package.json 中的 "type": "module"
   // 不需要额外的配置

与其他工具对比

  1. ts-node
// ts-node 需要更多配置
   ts-node --esm scripts/dev.ts
   
   // tsx 更简单
   tsx scripts/dev.ts
  1. node + tsc
   // 传统方式需要两步
   tsc scripts/dev.ts
   node scripts/dev.js
   
   // tsx 一步完成
   tsx scripts/dev.ts