tsx语法

ads

ts-node 你可能用过,它是用来替代原生 node 指令执行 TS 文件的,像这样:ts-node index.ts。不过,今天要介绍的是 tsx,能提供跟 ts-node 一样的功能,但更加强大而且快。比如:

  • 基于  esbuild  构建(快的原因)
  • 支持 node: 导入前缀
  • 自动解析应用 tsconfig.json  文件中的paths 配置

tsx 代表“TypeScript execute”,类似 npx 的含义,代表“Node.js package execute”。

下面就来讲解它的安装和使用。

安装

npm install --save-dev tsx

tsx 支持零配置(无需 tsconfig.json)使用。

执行npx tsx ... 指令即可体验效果。或是通过 package.json 的脚本:

{
    "scripts": {
        "dev""tsx ..."
    }
}

执行 npm run dev,能看到一样的效果。

使用

执行 TypeScript 文件

tsx ./file.ts

TypeScript 文件代码可以使用 ES Module 语法,也可以使用 CommonJS 模块语,都支持。

tsx 内部使用 esbuild 编译 TypeScript,不做类型检查。安全起见,可以使用 tsc --noEmit 保证类型安全。

手动指定 tsconfig.json 文件位置

tsx 默认使用当前工作目录的 tsconfig.json 文件中的配置,也可以通过 —tsconfig 指定:

tsx --tsconfig ./path/to/tsconfig.custom.json ./file.ts

或是通过 ESBK_TSCONFIG_PATH 环境变量设置,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

一个文件一个 —-ignore flag。

总结

tsx 是一个基于 esbuild 打造的执行TypeScript 文件的命令行工具。它比 ts-node 效率更高,使用起也更加简单。比如:内部了监听模式,能自动解析应用 tsconfig.json  文件中的paths 配置等。


最后编辑于:2024/1/18 拔丝英语网

admin-avatar

英语作文代写、国外视频下载

高质量学习资料分享

admin@buzzrecipe.com