# @domscribe/transform 中文文档

规范地址：https://npmcn.com/package/%40domscribe/transform/

版本：0\.7\.0
npm 元数据更新时间：2026-10-27T19:42:18.390Z
中文译文更新时间：2026-11-12T15:50:13.109Z
软件包许可：未声明

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

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

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

- 包体积（解压后）：200 kB，82 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=20
- 运行依赖：11 个
- peer 依赖：vue ^3\.3\.0，vite ^5\.0\.0 \|\| ^6\.0\.0 \|\| ^7\.0\.0 \|\| ^8\.0\.0，webpack ^5\.0\.0，html-webpack-plugin ^5\.0\.0
- 首次发布：2026-03-18T01:16:55.459Z
- 最新版本发布：2026-10-27T19:42:17.754Z
- 近 30 天下载量：140719（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：16（近 12 个月 16 个）

## 中文简介

DOMLATS 稳定元素ID和捆绑插件的 AST 注入

## 安装

```sh
npm install @domscribe/transform
```

也可以使用：`pnpm add @domscribe/transform`、`yarn add @domscribe/transform`、`bun add @domscribe/transform`

## README

# @ dominis/ 转换

AST 为多姆文斯注入稳定元素ID和捆绑插件.

## 安装

```bash
npm install -D @domscribe/transform
```

> **说明:** 您可能想要一个框架适配器 `@domscribe/react`, (中文(简体) ), `@domscribe/vue`, (中文(简体) ), `@domscribe/next`, (中文(简体) ), `@domscribe/nuxt`) (中文(简体) ). 这些软件包将这个包包裹起来,并自动处理特定框架的接线.

## Bundler 支持系统

| 邦德勒语Name | 插件 | 解析器 |
| --- | --- | --- |
| 视频 5-8 | `@domscribe/transform/plugins/vite` | 橡子(JS/JSX)或VueSFC |
| 网页包 5 | `@domscribe/transform/plugins/webpack` | 贝贝(TS/JSX)或VueSFC |
| 涡轮包装 | 自启动装入器 | 贝贝(TS/JSX) |

Vite 8相容性需要多姆文斯0.7.0或更后;npm 6.6.1声明Vite 5-7支持.

## 配置

### 共享选项——中继

这些选项适用于: `relay` 字段覆盖所有捆绑插件.

| 选项 | 类型 | 默认 | 说明 |
| --- | --- | --- | --- |
| `autoStart` | `boolean` | `true` | 如果不运行则自动启动中继守护进程 |
| `port` | `number` | `0` (动力学) | 中继服务器端口( 仅在启动时使用) |
| `host` | `string` | `'127.0.0.1'` | 中继服务器主机( 仅在启动时使用) |
| `bodyLimit` | `number` | `10485760` (10MB) (英语) | 最大请求体积以字节表示( 仅在开始时使用) |

### 共享选项——重叠

这些选项适用于 `overlay` 设置为对象而不是布尔.

| 选项 | 类型 | 默认 | 说明 |
| --- | --- | --- | --- |
| `initialMode` | `'collapsed' | 'expanded'` | `'collapsed'` | 覆盖的初始显示模式 |
| `debug` | `boolean` | `false` | 启用覆盖中的调试记录 |

* * *

### 虚拟插件

```ts
import { domscribe } from '@domscribe/transform/plugins/vite';

domscribe({
  include: /\.(jsx|tsx|vue)$/i,
  exclude: /node_modules|\.test\.|\.spec\./i,
  debug: false,
  relay: { autoStart: true, port: 0, host: '127.0.0.1', bodyLimit: 10485760 },
  overlay: true,
  rootDir: undefined, // Override root directory for .domscribe/ artifacts
});
```

| 选项 | 类型 | 默认 | 说明 |
| --- | --- | --- | --- |
| `include` | `RegExp` | `/\.(jsx|tsx|vue)$/i` | 要包含的文件模式 |
| `exclude` | `RegExp` | `/node_modules|\.test\.|\.spec\./i` | 要排除的文件模式 |
| `debug` | `boolean` | `false` | 启用调试日志 |
| `relay` | `RelayPluginOptions` | 见共享 | 中继服务器配置 |
| `overlay` | `boolean | OverlayPluginOptions` | `true` | 重叠 UI 配置 |
| `rootDir` | `string` | 维特的 `config.root` | 覆盖根目录 `.domscribe/` 文物. 当 Vite 根与工程根不同时( 如自定义 Nuxt) 需要 `srcDir`) (中文(简体) ). |

* * *

### Webpack 插件

```ts
import { DomscribeWebpackPlugin } from '@domscribe/transform/plugins/webpack';

new DomscribeWebpackPlugin({
  enabled: true,
  debug: false,
  relay: { autoStart: true, port: 0, host: '127.0.0.1' },
  overlay: true,
});
```

| 选项 | 类型 | 默认 | 说明 |
| --- | --- | --- | --- |
| `enabled` | `boolean` | `true` 以表白, `false` 生产 | 启用插件 |
| `debug` | `boolean` | `false` | 启用调试日志 |
| `relay` | `RelayPluginOptions` | 见共享 | 中继服务器配置 |
| `overlay` | `boolean | OverlayPluginOptions` | `true` | 重叠 UI 配置 |

#### Webpack 装入器选项

网络包装装载器由内部管理 `DomscribeWebpackPlugin`。如果需要直接通过 `@domscribe/transform/webpack-loader`数字 :

| 选项 | 类型 | 默认 | 说明 |
| --- | --- | --- | --- |
| `debug` | `boolean` | `false` | 启用调试日志 |
| `enabled` | `boolean` | `true` | 启用转换 |

* * *

### 涡轮包装装载器

Turbopack没有插件系统,因此加载器是自我初始化的——它直接管理接力生命周期并覆盖注射.

```ts
// next.config.ts (turbopack)
{
  turbopack: {
    rules: {
      '*.{tsx,jsx}': {
        loaders: [{
          loader: '@domscribe/transform/turbopack-loader',
          options: {
            enabled: true,
            debug: false,
            relay: { autoStart: true, port: 0, host: '127.0.0.1' },
            overlay: false,
            autoInitPath: undefined,
          },
        }],
      },
    },
  },
}
```

| 选项 | 类型 | 默认 | 说明 |
| --- | --- | --- | --- |
| `enabled` | `boolean` | `true` | 启用转换 |
| `debug` | `boolean` | `false` | 启用调试日志 |
| `relay` | `RelayPluginOptions` | 见共享 | 中继服务器配置 |
| `overlay` | `boolean | OverlayPluginOptions` | `false` | 重叠 UI 配置 。 默认为 `false` 与Vite/Webpack不同的是——上覆注射必须由元框包装处理. |
| `autoInitPath` | `string` | `undefined` (倒计时) `@domscribe/next/auto-init`(中文(简体) ) | 自动init模块的绝对文件系统路径 。 在pnpm monrepos中被使用,其中被转换出的文件并不直接依赖于自動init包. 元框架包头应通过 `require.resolve()`。 。 。 . |

#### `getInitResult()`

```ts
import { getInitResult } from '@domscribe/transform/plugins/turbopack';

const result = getInitResult();
// { relayHost: string | undefined, relayPort: number | undefined }
```

返回加载器初始化时检测到的中继主机和端口 。 处理第一个文件后可用 。 用于元框架包装(例如, `@domscribe/next`)在装入器初始化后读取中继连接信息.

* * *

## 子路径导出

| 子路径 | 说明 |
| --- | --- |
| `@domscribe/transform/plugins/vite` | 维特插件( V)`domscribe`(中文(简体) ) |
| `@domscribe/transform/plugins/webpack` | Webpack 插件 (帮助)`DomscribeWebpackPlugin`(中文(简体) ) |
| `@domscribe/transform/webpack-loader` | Webpack 加载器路径(字符串,直接使用) |
| `@domscribe/transform/plugins/turbopack` | 涡轮包装出口`getInitResult`(中文(简体) ) |
| `@domscribe/transform/turbopack-loader` | 涡轮包装装载器路径(字符串,直接使用) |

## 链接

部分 [多写](https://github.com/patchorbit/domscribe)。 。 。 .

## 许可证

麻省理工学院

## 常见问题

### @domscribe/transform 是什么？

DOMLATS 稳定元素ID和捆绑插件的 AST 注入

### 如何安装 @domscribe/transform？

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

### @domscribe/transform 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @domscribe/transform 支持 ESM 还是 CommonJS？

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

### @domscribe/transform 需要什么版本的 Node\.js？

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

### @domscribe/transform 可以商用吗？

@domscribe/transform 使用 未声明 许可。package\.json 没有声明许可证。没有许可证的代码默认保留全部权利，商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括，不构成法律意见，请以许可原文为准。

### @domscribe/transform 的下载量有多少？

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

### @domscribe/transform 还在维护吗？

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

