# @droppedcode/index-generator 中文文档

规范地址：https://npmcn.com/package/%40droppedcode/index-generator/

版本：1\.0\.4
npm 元数据更新时间：2024-04-29T07:06:47.869Z
中文译文更新时间：2026-11-12T23:38:34.278Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40droppedcode/index-generator
原文对照：https://npmcn.com/package/%40droppedcode/index-generator/?lang=original
项目主页：https://github.com/droppedcode/index-generator
源码仓库：https://github.com/droppedcode/index-generator

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

- 包体积（解压后）：42.1 kB，15 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：1 个
- peer 依赖：lodash ^4\.17\.21
- 首次发布：2022-03-16T18:25:19.832Z
- 最新版本发布：2024-04-29T07:06:47.645Z
- 近 30 天下载量：2926（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：5（近 12 个月 0 个）

## 中文简介

从文件夹创建索引文件 .

## 安装

```sh
npm install @droppedcode/index-generator
```

也可以使用：`pnpm add @droppedcode/index-generator`、`yarn add @droppedcode/index-generator`、`bun add @droppedcode/index-generator`

## README

# 索引文件生成器

从文件夹创建索引文件 .

该工具将收集所有带有导出( 重复) 的文件,并以格式创建导出 :

```ts
export * from './file-1';
export * from './dir-1/file-1';
export * from './dir-1/file-2';
```

只有带有导出-的文件才会被添加到列表中(文件包含任何从导出单词开始的行).

## 使用量

igen \[- 不包括...\]

例如igen./src./src/index.ts -- 不包括(\\. spec-.test)\\.t$ ^docs-.ts$

这将为"src"文件夹中的所有文件创建索引文件"src/index.ts",但以".spec.ts"或".test.ts"结尾的所有文件以及文件"src/docs.ts"除外.

### 命令行参数

文件夹路径: 将要处理的路径 . 创建文件路径:将创建的文件路径.

#### 选项

\--path/-p(字符串,默认的第一个参数): 指定要使用的根文件夹。 使用此选项( 多次使用或将文件夹相继列出) , 您可以指定多个切入点 .

\--out/-o(字符串,默认的第二个参数): 指定输出文件名和路径(相对于root)或输出文件名(参见模式).

\--config/-c (字符串):将一个json文件读作config.

\--mode/-m (字符串): 设置生成器模式 :

-   路径( 这是默认) : 将输出文件放入定义的路径, 如果不是绝对的, 那么相对于 cwd .
-   root: 将输出文件放入根文件夹.
-   文件夹:每个文件夹的文件,包括单个文件的子文件夹文件.
-   子:每个文件夹的文件,包括所有子文件夹索引文件,忽略单个文件.

\--including/-i(字符串):通过regex包含文件. regex会与处理过的文件夹根的相对路径相匹配. 您可以在选项后列出任何 regex 的编号, 或者多次使用, 例如 - 例如 regex1 regex2. 默认为 `[/\.ts$/]`。 。 。 .

\--排除e/-e(字符串):通过regex排除文件. regex会与处理过的文件夹根的相对路径相匹配. 您可以在选项后列出任何 regex 的编号, 或者多次使用, 例如 - 例如 regex1 regex2.

\--eol/-l(字符串) : 所用行终. 可能的值 : “ os”( 当前操作系统行结束)、 “ unix ” 、 “ if ” 、 “ n ” (使用 unix 行结束) `\n`),“win”,“crlf”,“rn”(使用窗口行结尾) `\r\n`页:1`\r`),其他任何东西(你可以定义其他任何东西). 默认为"os" .

eol-at-eof(布尔语): 如果在文件结尾处添加一行空行( 默认为真) .

\--header/-h (字符串):将标题文本设置在生成文件的开头. 默认为:

```
This file was generated by a tool.
Do not modify it.
```

\--header-mode (字符串): 设置标题的生成方式, 默认为 `multi`数字 :

-   残疾 : 不添加页眉.
-   “ raw ” : 以正法相加头相.
-   '单': 每行写为单行注释 `// header`。 。 。 .
-   “ multi” : 将标题写成多行注释, 并用 `/* */`,每行说明 `*`。 。 。 .

\--if- needed/-n(boolean):没有生成导出文件的应否 .

\--format/-f(字符串): 导出的格式应生成 。 默认为 : `export * from '{rel}/{name}';` 您可以使用下列变量:

-   {名}:文件名.
-   {ext}: 文件的扩展名 .
-   {rel}:目录的相对路径.
-   {: 目录的绝对路径 .

### 从代码

从代码中导入 `IndexGenerator` 课从包.

```ts
import { IndexGenerator, Options } from '@droppedcode/index-generator';
```

### 忽略文件

您可以在文件( 任何地方) 上添加“ // 索引生成器- ignore” 注释而忽略文件 .

### 模式

不同模式为此输入生成以下内容:

```
src
|- f0
 |- f1
  |- b.ts
 |- c.ts
|- a.ts
```

#### 路径

将输出文件放入定义的路径(带有路径./src而未定义出),如果不是绝对的,则相对于 cwd(这是默认的).

生成的文件不会编译, 因为路径无效 。 您总是应该定义生成文件的输出路径(例如./src/index.ts)或者修改格式以包含需要的路径.

```
src
|- f0
 |- f1
  |- b.ts
 |- c.ts
|- a.ts
index.ts
  export * from './f0/f1/b.ts';
  export * from './f0/c.ts';
  export * from './a.ts';
```

#### 根号

将输出文件放入根文件夹 .

```
src
|- f0
 |- f1
  |- b.ts
 |- c.ts
|- a.ts
|- index.ts
     export * from './f0/f1/b';
     export * from './f0/c';
     export * from './a';
```

#### 文件夹

每个文件夹的文件,包括单个文件的子文件夹文件.

```
src
|- f0
 |- f1
  |- b.ts
  |- index.ts
       export * from './b';
 |- c.ts
 |- index.ts
      export * from './f1/b';
      export * from './c';
|- a.ts
|- index.ts
     export * from './f0/f1/b';
     export * from './f0/c';
     export * from './a';
```

#### 子目录

每个文件夹的文件,包括所有子文件夹索引文件,忽略单个文件.

```
src
|- f0
 |- f1
  |- b.ts
  |- index.ts
       export * from './b';
 |- c.ts
 |- index.ts
      export * from './f1/index';
      export * from './c';
|- a.ts
|- index.ts
     export * from './f0/index';
     export * from './a';
```

## 常见问题

### @droppedcode/index-generator 是什么？

从文件夹创建索引文件 \.

### 如何安装 @droppedcode/index-generator？

在项目目录运行 npm install @droppedcode/index-generator，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：lodash（^4\.17\.21）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。它还提供命令行工具 igen，可以用 npx igen 直接运行。

### @droppedcode/index-generator 支持 TypeScript 吗？

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

### @droppedcode/index-generator 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @droppedcode/index-generator 可以商用吗？

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

### @droppedcode/index-generator 的下载量有多少？

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

### @droppedcode/index-generator 还在维护吗？

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

