# @dword-design/depcheck 中文文档

规范地址：https://npmcn.com/package/%40dword-design/depcheck/

版本：0\.0\.12
npm 元数据更新时间：2025-09-15T04:25:10.652Z
中文译文更新时间：2026-11-13T01:38:39.516Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：233 kB，80 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=10
- 运行依赖：23 个
- 首次发布：2022-11-23T23:56:53.441Z
- 最新版本发布：2025-09-15T04:25:10.464Z
- 近 30 天下载量：6336（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：12（近 12 个月 0 个）

## 中文简介

检查节点模块中的依赖性

## 安装

```sh
npm install @dword-design/depcheck
```

也可以使用：`pnpm add @dword-design/depcheck`、`yarn add @dword-design/depcheck`、`bun add @dword-design/depcheck`

## README

# 调试

Depcheck 是一个用于分析项目中的依赖性的工具,用于查看每个依赖性是如何使用的,哪些依赖性是无用的,哪些依赖性是缺失的 `package.json`。 。 。 .

## 状态

[![Build Status](https://github.com/depcheck/depcheck/workflows/ci/badge.svg)](https://github.com/depcheck/depcheck/actions) [![Financial Contributors on Open Collective](https://opencollective.com/depcheck/all/badge.svg?label=financial+contributors)](https://opencollective.com/depcheck) [![Build status](https://ci.appveyor.com/api/projects/status/xbooh370dinuyi0y/branch/master?svg=true)](https://ci.appveyor.com/project/lijunle/depcheck/branch/master) [![codecov.io](https://codecov.io/github/depcheck/depcheck/coverage.svg?branch=master)](https://codecov.io/github/depcheck/depcheck?branch=master)

[![Dependencies](https://img.shields.io/librariesio/github/depcheck/depcheck)](https://libraries.io/github/depcheck/depcheck)

## 安装

```
npm install -g depcheck
```

或者仅仅使用 [npx 数据](https://blog.npmjs.org/post/162869356040/introducing-npx-an-npm-package-runner) 它是一个捆绑在一起的软件包跑取器 `npm`数字 :

```
$ npx depcheck
```

_通知 :_ depcheck 需要节点.js \\\\ 10.

## 语法支持

Depcheck 不仅承认JavaScript文件中的依赖性,而且支持这些语法:

-   Java脚本(ES5,ES6和ES7)
-   [反应JSX](http://facebook.github.io/react/docs/jsx-in-depth.html)
-   [咖啡脚本](http://coffeescript.org/)
-   [类型脚本](http://www.typescriptlang.org/) (与 `typescript` 扶养)
-   [索马里和索马里](http://sass-lang.com/)
-   [Vue.js (英语)](https://vuejs.org/) (与 `@vue/compiler-sfc` 扶养)

要通过外部依赖获得语法支持,请明确安装相应的软件包. 例如,对于 TypeScript 用户,请用 `typescript` 软件包 :

```
npm install -g depcheck typescript
```

## 特别

这个 _特别_ 组件用于确认上述语法文件中通常没有使用的依赖关系。 下列情况由特长支持:

-   `babel` - 说吧 [宝贝](https://www.npmjs.com/package/babel) 预设和插件
-   `bin` - npm命令、Travis脚本或其他CI脚本中使用的依赖
-   `commitizen` - 说吧 [提交](https://www.npmjs.com/package/commitizen) 配置适配器
-   `eslint` - 说吧 [ESLint 语录](https://www.npmjs.com/package/eslint) 配置预设、解析和插件
-   `feross-standard` - 说吧 [费罗斯标准](https://www.npmjs.com/package/standard) 格式解析器
-   `gatsby` - 说吧 [盖茨比](https://www.npmjs.com/package/gatsby) 配置解析器
-   `gulp-load-plugins` - 说吧 [废载插件](https://www.npmjs.com/package/gulp-load-plugins) 懒惰已装入的插件
-   `husky` - 说吧 [胡斯基](https://www.npmjs.com/package/husky) 配置解析器
-   `istanbul` - 说吧 [伊斯坦布尔尼克](https://www.npmjs.com/package/nyc) 配置扩展
-   `jest` - 说吧 [欢乐](https://www.npmjs.com/package/jest) 属性在 [游戏配置](https://jestjs.io/docs/en/configuration)
-   `karma` - 说吧 [因果关系](https://www.npmjs.com/package/karma) 配置框架、浏览器、预处理器和记者
-   `lint-staged` - 说吧 [阶段化](https://www.npmjs.com/package/lint-staged) 配置解析器
-   `mocha` - 说吧 [摩诃迦叶](https://www.npmjs.com/package/mocha) 明确需要的依赖关系
-   `prettier` - 说吧 [高级](https://www.npmjs.com/package/prettier) 配置模块
-   `tslint` - 说吧 [TSLint 图像](https://www.npmjs.com/package/tslint) 配置预设、解析和插件
-   `ttypescript` - 说吧 [类型标记](https://github.com/cevek/ttypescript) 变压器
-   `webpack` - 说吧 [网络软件包](https://www.npmjs.com/package/webpack) 装载器
-   `serverless`\- 说吧 [无服务器](https://www.npmjs.com/package/serverless) 插件

一个特殊的逻辑是不完美的。 也许有 [错误警报](https://npmcn.com/package/%40dword-design/depcheck/#readme-false-alert)如果发生这种情况,请给我们打开一个问题.

## 使用量

```
depcheck [directory] [arguments]
```

这个 `directory` 参数是工程的根目录(其中 `package.json` 文件为). 如果未指定,则默认为当前目录.

所有论点都是可选的:

`--ignore-bin-package=[true|false]`: 显示解接是否忽略包含 bin 条目的包的旗帜 。 默认值为 `false`。 。 。 .

`--skip-missing=[true|false]`: 标记以显示是否跳过缺失依赖的计算 。 默认值为 `false`。 。 。 .

`--json`JSON的输出结果 在未指定时, 取消对人友好格式的输出 .

`--oneline`: 输出结果作为空格分隔字符串. 用于复制/粘贴.

`--ignores`:包含要忽略的包名的逗号分隔阵列。 可以是光泽的表达方式. 示例, `--ignores="eslint,babel-*"`。 。 。 .

`--ignore-dirs`: 已删除, 改用被忽略的标签 。 包含要忽略的目录名称的逗号分隔阵列 。 示例, `--ignore-dirs=dist,coverage`。 。 。 .

`--ignore-path`: 描述要忽略的文件的图案的文件路径 。 文件必须匹配.gitignore [光谱](http://git-scm.com/docs/gitignore)实例, `--ignore-path=.eslintignore`。 。 。 .

`--ignore-patterns`:逗号分离的图案描述要忽略的文件. 模式必须匹配.gitignore [光谱](http://git-scm.com/docs/gitignore)实例, `--ignore-patterns=build/Release,dist,coverage,*.log`。 。 。 .

`--quiet`:压制"不拆放问题"日志. 在有多个软件包的单雷波中有用,只关注有问题的软件包.

`--help`: 显示帮助信息 .

`--parsers`, (中文(简体) ), `--detectors` 财务报告和审定财务报表 `--specials`:这些论据是供高级使用的. 它们为自定义文件解析器和依赖检测提供了方便的方法. 检查 [可插件设计文档](https://github.com/depcheck/depcheck/blob/master/doc/pluggable-design.md) 更多信息.

`--config=[filename]`: 一个外部配置文件(见下文).

## 使用配置文件

Depcheck可以使用rc配置文件. 为此,在您的项目软件包.json文件夹中创建.depcheckrc文件,并用YAML,JSON,和JavaScript格式设置CLI密钥. 例如,CLI的论点 `--ignores="eslint,babel-*" --skip-missing=true` 改为:

**_.depcheckrc (中文(简体) )_**

```
ignores: ["eslint", "babel-*"]
skip-missing: true
```

**重要内容:** 如果提供 CLI 参数与配置文件参数相冲突,则 CLI 参数将优先于 rc 文件参数.

Rc配置文件也可以包含以下扩展: `.json`, (中文(简体) ), `.yaml`, (中文(简体) ), `.yml`。 。 。 .

## API 密码

向 `depcheck` 用于编程的函数:

```js
import depcheck from 'depcheck';

const options = {
  ignoreBinPackage: false, // ignore the packages with bin entry
  skipMissing: false, // skip calculation of missing dependencies
  ignorePatterns: [
    // files matching these patterns will be ignored
    'sandbox',
    'dist',
    'bower_components',
  ],
  ignoreMatches: [
    // ignore dependencies that matches these globs
    'grunt-*',
  ],
  parsers: {
    // the target parsers
    '**/*.js': depcheck.parser.es6,
    '**/*.jsx': depcheck.parser.jsx,
  },
  detectors: [
    // the target detectors
    depcheck.detector.requireCallExpression,
    depcheck.detector.importDeclaration,
  ],
  specials: [
    // the target special parsers
    depcheck.special.eslint,
    depcheck.special.webpack,
  ],
  package: {
    // may specify dependencies instead of parsing package.json
    dependencies: {
      lodash: '^4.17.15',
    },
    devDependencies: {
      eslint: '^6.6.0',
    },
    peerDependencies: {},
    optionalDependencies: {},
  },
};

depcheck('/path/to/your/project', options).then((unused) => {
  console.log(unused.dependencies); // an array containing the unused dependencies
  console.log(unused.devDependencies); // an array containing the unused devDependencies
  console.log(unused.missing); // a lookup containing the dependencies missing in `package.json` and where they are used
  console.log(unused.using); // a lookup indicating each dependency is used by which files
  console.log(unused.invalidFiles); // files that cannot access or parse
  console.log(unused.invalidDirs); // directories that cannot access
});
```

## 示例

以下示例检查了以下 `/path/to/my/project` 文件夹 :

```sh
$> depcheck /path/to/my/project
Unused dependencies
* underscore
Unused devDependencies
* jasmine
Missing dependencies
* lodash
```

发现:

-   依赖性 `underscore` 将在 `package.json` 文件,但没有被任何代码使用.
-   依赖性 `jasmine` 将在 `package.json` 文件,但没有被任何代码使用.
-   依赖性 `lodash` 在代码中某处使用,但没有在代码中声明 `package.json` 文档.

请注意,如果子文件夹有 `package.json` 文件,它被视为另一个工程,应当通过另一个调试命令检查.

然而,以下例子检查了JSON blob的同一项目的产出。 Depcheck的JSON输出在一行中,便于管道和计算. 这个 [`json`](https://www.npmjs.com/package/json) 命令在管后是用于美化输出的节点.js程序.

```js
$> depcheck /path/to/my/project --json | json
{
  "dependencies": [
    "underscore"
  ],
  "devDependencies": [
    "jasmine"
  ],
  "missing": {
    "lodash": [
      "/path/to/my/project/file.using.lodash.js"
    ]
  },
  "using": {
    "react": [
      "/path/to/my/project/file.using.react.jsx",
      "/path/to/my/project/another.file.using.react.jsx"
    ],
    "lodash": [
      "/path/to/my/project/file.using.lodash.js"
    ]
  },
  "invalidFiles": {
    "/path/to/my/project/file.having.syntax.error.js": "SyntaxError: <call stack here>"
  },
  "invalidDirs": {
    "/path/to/my/project/folder/without/permission": "Error: EACCES, <call stack here>"
  }
}
```

-   这个 `dependencies`, (中文(简体) ), `devDependencies` 财务报告和审定财务报表 `missing` 属性在上一个示例中具有相同的含义.
-   这个 `using` 属性是显示每个依赖关系使用的查询.
-   价值 `missing` 财务报告和审定财务报表 `using` 查找是一个阵列 。 这意味着依赖性可能被许多文件所使用.
-   这个 `invalidFiles` 属性包含有语法错误或权限错误的文件。 值是错误细节 。 然而,在搜索中只存储一个错误.
-   这个 `invalidDirs` 属性包含有权限错误的目录。 值是错误细节 .

## 假警报

Depcheck只是走遍了所有文件,并试图根据一些预先定义的规则找到依赖性. 然而,预先界定的规则可能还不够,甚至可能是错误的.

在某些情况下,可能会使用某种依赖,但报告为未使用,或者不使用某种依赖,但报告为缺失。 这些是 _假警报_ 情况.

如果你发现 检查报告 一个虚假的警报,请 [打开一个问题](https://github.com/depcheck/depcheck/issues/new) 现通知如下:

-   产出来自 `depcheck --json` 命令。 美丽JSON更好.
-   哪些依赖关系被视为虚假警报?
-   你怎么利用这些依赖, 这些文件是什么样子的?

## 更改日志

我们使用 [GitHub 发布页面](https://github.com/depcheck/depcheck/releases) 用于管理更改日志.

## 贡献者

### 代码贡献者

这个项目的存在要归功于所有作出贡献的人[贡献](https://npmcn.com/package/%40dword-design/depcheck/CONTRIBUTING.md)\[ \[ \] \[ \] \]. \]. [![](https://opencollective.com/depcheck/contributors.svg?width=890&button=false)](https://github.com/depcheck/depcheck/graphs/contributors)

### 财政捐助者

成为财政贡献者并帮助我们维持我们的社区[贡献](https://opencollective.com/depcheck/contribute)\[ . \]

#### 个人

[![](https://opencollective.com/depcheck/individuals.svg?width=890)](https://opencollective.com/depcheck)

#### 组织

支持这个项目与你的组织。 你的标志会在这里出现 链接到你的网站。 \[[贡献](https://opencollective.com/depcheck/contribute)\[ . \]

[![](https://opencollective.com/depcheck/organization/0/avatar.svg)](https://opencollective.com/depcheck/organization/0/website) [![](https://opencollective.com/depcheck/organization/1/avatar.svg)](https://opencollective.com/depcheck/organization/1/website) [![](https://opencollective.com/depcheck/organization/2/avatar.svg)](https://opencollective.com/depcheck/organization/2/website) [![](https://opencollective.com/depcheck/organization/3/avatar.svg)](https://opencollective.com/depcheck/organization/3/website) [![](https://opencollective.com/depcheck/organization/4/avatar.svg)](https://opencollective.com/depcheck/organization/4/website) [![](https://opencollective.com/depcheck/organization/5/avatar.svg)](https://opencollective.com/depcheck/organization/5/website) [![](https://opencollective.com/depcheck/organization/6/avatar.svg)](https://opencollective.com/depcheck/organization/6/website) [![](https://opencollective.com/depcheck/organization/7/avatar.svg)](https://opencollective.com/depcheck/organization/7/website) [![](https://opencollective.com/depcheck/organization/8/avatar.svg)](https://opencollective.com/depcheck/organization/8/website) [![](https://opencollective.com/depcheck/organization/9/avatar.svg)](https://opencollective.com/depcheck/organization/9/website)

## 许可证

MIT许可证.

## 常见问题

### @dword-design/depcheck 是什么？

检查节点模块中的依赖性

### 如何安装 @dword-design/depcheck？

在项目目录运行 npm install @dword-design/depcheck，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 depcheck，可以用 npx depcheck 直接运行。

### @dword-design/depcheck 支持 TypeScript 吗？

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

### @dword-design/depcheck 支持 ESM 还是 CommonJS？

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

### @dword-design/depcheck 需要什么版本的 Node\.js？

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

### @dword-design/depcheck 可以商用吗？

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

### @dword-design/depcheck 的下载量有多少？

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

### @dword-design/depcheck 还在维护吗？

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

