如何仅用单条命令编译并执行TypeScript文件?
TypeScript单步执行(替代tsc+node两步操作)的实现方法
你可以根据自己的使用场景选下面任意一种单命令方案:
- 方案1:使用
ts-node(生态最成熟的经典方案)
先全局安装依赖:npm install -g ts-node typescript
安装完成后,直接执行单条命令即可运行TS文件,内部自动完成编译、执行全流程,不会在当前目录残留编译生成的.js文件:ts-node 你的目标文件.ts
如果不想全局安装,也可以直接用npx免安装调用:npx ts-node 你的目标文件.ts - 方案2:使用
tsx(编译速度更快的新一代工具)
基于esbuild实现,大项目下编译速度远快于ts-node,兼容性也更好。全局安装命令:npm install -g tsx
执行命令:tsx 你的目标文件.ts
同样支持npx免安装调用:npx tsx 你的目标文件.ts - 方案3:Node.js原生支持(v22.6.0及以上版本可用)
高版本Node已经内置了TS类型剥离能力,不需要安装任何第三方依赖,直接加启动参数即可单命令运行:node --experimental-strip-types 你的目标文件.ts - 方案4:自定义npm脚本(适合需要保留编译产物的场景)
如果你需要保留tsc编译输出的.js文件,可以在项目的package.json中配置脚本命令,把两步操作串成一条:
配置完成后,只要执行{ "scripts": { "start": "tsc && node ./dist/你的入口文件.js" } }npm run start就能自动完成编译、执行两步操作。
*注:ts-node、tsx这类运行时工具默认在内存中完成TS转译,不会落地生成.js文件,如果需要留存编译产物,优先选自定义npm脚本的方案。
内容的提问来源于stack exchange,提问作者Abdel-Rahman
相关产品推荐
相关产品推荐

