# @ava/typescript 中文文档

规范地址：https://npmcn.com/package/%40ava/typescript/

版本：7\.0\.0
npm 元数据更新时间：2026-04-16T19:49:10.840Z
中文译文更新时间：2026-11-07T07:25:12.035Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40ava/typescript
原文对照：https://npmcn.com/package/%40ava/typescript/?lang=original
项目主页：https://github.com/avajs/typescript#readme
源码仓库：https://github.com/avajs/typescript

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：12.3 kB，4 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：^22\.20 \|\| ^24\.12 \|\| \>=25
- 运行依赖：2 个
- 首次发布：2020-01-26T14:43:31.582Z
- 最新版本发布：2026-04-16T19:49:10.507Z
- 近 30 天下载量：166357（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：11（近 12 个月 1 个）

## 中文简介

AVA 的脚本类型提供者

## 安装

```sh
npm install @ava/typescript
```

也可以使用：`pnpm add @ava/typescript`、`yarn add @ava/typescript`、`bun add @ava/typescript`

## README

# @ava/ typescript

添加数 [类型脚本](https://www.typescriptlang.org/) 支助 [阿富汗](https://avajs.dev/)。 。 。 .

这是为预编译TypeScript的项目而设计的. 它允许AVA加载所编译的JavaScript,同时配置AVA将TypeScript文件作为测试文件处理.

换句话说 你有测试文件 `src/test.ts`。您已经将类型脚本配置到输出到 `build/`。使用 `@ava/typescript` 您可以使用 `npx ava src/test.ts`。 。 。 .

与AVA 6, 7和8. 相容需要节点22.20, 24.12 或 25 (或更新).

## 启用类型脚本支持

将此软件包添加到您的工程中 :

```console
npm install --save-dev @ava/typescript
```

然后,在 `package.json` 或者说 `ava.config.*`数字 :

**`package.json`数字 :**

```json
{
    "ava": {
        "typescript": {
            "rewritePaths": {
                "src/": "build/"
            },
            "compile": false
        }
    }
}
```

键和值 `rewritePaths` 对象必须以 `/`。路径相对于您的工程目录.

您可以通过 `compile` 属性。 若为 `false`,AVA会假设你已经 整理了您的项目。 如果设置为 `'tsc'`, AVA 将在运行测试前运行 TypeScript 编译器 。 这在表模式下使用AVA时可能效率低下.

输出文件预计将有 `.js` 扩展名.

AVA 搜索您的整个工程 `*.js`, (中文(简体) ), `*.mjs`, (中文(简体) ), `*.ts` 财务报告和审定财务报表 `*.mts` 文件 \*(或您配置的其他扩展名) 。 它会忽略在 `rewritePaths` 目标(例如:. `build/`) (中文(简体) ). 如果您使用更具体的路径, 例如 `build/main/`,你可能需要改变AVA的 `files` 配置以忽略其他目录.

\* AVA 6和7还将寻找 `*.cjs` 财务报告和审定财务报表 `*.cts` 文档.

## ES 模块

与AVA 6和7,如果你 `package.json` 已经配置 `"type": "module"`或者你配置了AVA来治疗 `js` 扩展为 `module`,则 `@ava/typescript` 将导入输出文件为 ES 模块。 请注意,这是基于 _输出文件_,而不是 `ts` 扩展名.

AVA 8 将 _永远_ 将所有文件导入为 ES 模块.

## 添加额外的扩展

您可以配置 AVA 以识别额外的文件扩展名 。 补充(部分)JSX支持:

**`package.json`数字 :**

```json
{
    "ava": {
        "typescript": {
            "extensions": ["ts", "tsx"],
            "rewritePaths": {
                "src/": "build/"
            }
        }
    }
}
```

如果你使用 [`allowJs` 类型脚本选项](https://www.typescriptlang.org/tsconfig/allowJs.html) 需要说明 `js`, (中文(简体) ), `cjs` 财务报告和审定财务报表 `mjs` 将其重写为扩展 .

另见AVA的 [`extensions` 选项](https://github.com/avajs/ava/blob/master/docs/06-configuration.md#options)。 。 。 .

† 注意到 [_保护_ jSX 模式](https://www.typescriptlang.org/docs/handbook/jsx.html) 没有被支持.

## 常见问题

### @ava/typescript 是什么？

AVA 的脚本类型提供者

### 如何安装 @ava/typescript？

在项目目录运行 npm install @ava/typescript，或使用 pnpm add / yarn add / bun add。

### @ava/typescript 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/ava\_\_typescript 是否存在。

### @ava/typescript 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @ava/typescript 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js ^22\.20 \|\| ^24\.12 \|\| \>=25。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @ava/typescript 可以商用吗？

@ava/typescript 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @ava/typescript 的下载量有多少？

根据 npm 官方下载统计，@ava/typescript 在 2026/10/07 – 2026/11/05 这 30 天内被下载 166,357 次，日均约 5,545 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @ava/typescript 还在维护吗？

最新版本 7\.0\.0 发布于 2026/04/17（6 个月前）；至今共发布 11 个版本，其中过去 12 个月发布了 1 个；首次发布于 2020/01/26。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

