
ts-node 你可能用过,它是用来替代原生 指令执行 TS 文件的,像这样:。不过,今天要介绍的是 tsx,能提供跟 ts-node 一样的功能,但更加强大而且快。比如:
基于 esbuild 构建(快的原因)
支持 node: 导入前缀
自动解析应用 tsconfig.json 文件中的paths 配置
tsx 代表“TypeScript execute”,类似 npx 的含义,代表“Node.js package execute”。
下面就来讲解它的安装和使用。
npm install --save-dev tsx tsx 支持零配置(无需 )使用。
执行 指令即可体验效果。或是通过 的脚本:
{
"scripts": {
"dev": "tsx ..."
}
} 执行 ,能看到一样的效果。
tsx ./file.ts TypeScript 文件代码可以使用 ES Module 语法,也可以使用 CommonJS 模块语,都支持。
tsx 内部使用 esbuild 编译 TypeScript,不做类型检查。安全起见,可以使用 保证类型安全。
tsx 默认使用当前工作目录的 文件中的配置,也可以通过 —tsconfig 指定:
tsx --tsconfig ./path/to/tsconfig.custom.json ./file.ts 或是通过 环境变量设置,tsx 内部会读取,这再跟。
ESBK_TSCONFIG_PATH=./path/to/tsconfig.custom.json tsx ./file.ts ts-node 就不支持监听模式(需要配合 nodemon、onchange & node-dev 这些工具),这也是 tsx 的一个优势。
tsx watch ./file.ts 还可以通过 --ignore flag 忽略对某些文件的监听。
tsx watch --ignore ./ignore-me.js --ignore ./ignore-me-too.js ./file.ts 一个文件一个 flag。
tsx 是一个基于 esbuild 打造的执行TypeScript 文件的命令行工具。它比 ts-node 效率更高,使用起也更加简单。比如:内部了监听模式,能自动解析应用 文件中的 配置等。