# @brickdoc/cpy 中文文档

规范地址：https://npmcn.com/package/%40brickdoc/cpy/

版本：8\.1\.2-patch\.1
npm 元数据更新时间：2023-10-21T03:08:14.772Z
中文译文更新时间：2026-11-08T15:01:05.957Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：13.4 kB，6 个文件
- TypeScript 类型：包内自带
- Node.js 要求：\>=10
- 运行依赖：9 个
- 首次发布：2022-02-19T18:17:03.322Z
- 最新版本发布：2022-02-19T18:17:03.565Z
- 近 30 天下载量：5807（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：1（近 12 个月 0 个）

## 中文简介

复制文件

## 安装

```sh
npm install @brickdoc/cpy
```

也可以使用：`pnpm add @brickdoc/cpy`、`yarn add @brickdoc/cpy`、`bun add @brickdoc/cpy`

## README

# 密码

从 [辛德雷索胡斯/阴道](https://github.com/sindresorhus/cpy) 添加安全补丁 [CVE-2020-28469 (中文(简体) )](https://github.com/advisories/GHSA-ww39-953v-wcq6)。 。 。 .

> 复制文件

## 为什么

-   快速通过使用溪流.
-   通过使用可逆性 [优雅的风度](https://github.com/isaacs/node-graceful-fs)。 。 。 .
-   通过接受方便用户 [缩写](https://github.com/sindresorhus/globby#globbing-patterns) 并创建不存在的目的地目录.
-   方便用户的错误消息 .
-   进度报告.

## 安装

```
$ npm install @brickdoc/cpy
```

## 使用量

```js
const cpy = require("cpy");

(async () => {
    await cpy(["source/*.png", "!source/goat.png"], "destination");
    console.log("Files copied!");
})();
```

## API 密码

### cpy( 来源、 目的地、 选项 )

回返a `Promise<string[]>` 带有目的文件路径.

#### 来源

类型 : `string | string[]`

要复制的文件 .

如果其中的任何文件不存在, 就会出现出错( 不适用于 globs) .

#### 目标

类型 : `string`

目标目录.

#### 选项

类型 : `object`

选项传递给 [荣耀](https://github.com/sindresorhus/globby#options)。 。 。 .

此外,您还可以指定以下选项.

##### 数据

类型 : `string`  
默认 : `process.cwd()`

查找源文件的工作目录 .

##### 覆盖

类型 : `boolean`  
默认 : `true`

覆盖已存在的文件 .

##### 家长

类型 : `boolean`  
默认 : `false`

保存路径结构.

##### 重命名

类型 : `string | Function`

文件名或函数返回用于重命名每个文件的文件名 `source`。 。 。 .

```js
const cpy = require("cpy");

(async () => {
    await cpy("foo.js", "destination", {
        rename: (basename) => `prefix-${basename}`,
    });
})();
```

##### 货币

类型 : `number`  
默认 : `(os.cpus().length || 1) * 2`

同时复制的文件数量 .

##### 忽略 Junk 选项

类型 : `boolean`  
默认 : `true`

忽略 [垃圾](https://github.com/sindresorhus/junk) 文档.

##### 过滤器

类型 : `Function`

要过滤要复制的文件的函数 .

接收源文件对象作为第一个参数.

返回真实包含,虚假排除。 你也可以回到一个承诺 解决的真伪.

```js
const cpy = require("cpy");

(async () => {
    await cpy("foo", "destination", {
        filter: (file) => file.extension !== "nocopy",
    });
})();
```

##### 源文件对象

###### 路径

类型 : `string`  
示例 `'/tmp/dir/foo.js'`

已解析文件路径 .

###### 相对

类型 : `string`  
示例 `'dir/foo.js'` 若为 `cwd` 曾经 `'/tmp'`

文件的相对路径 `cwd`。 。 。 .

###### 名称

类型 : `string`  
示例 `'foo.js'`

带有扩展名的文件名 .

###### 名称不扩展

类型 : `string`  
示例 `'foo'`

没有扩展名的文件名 .

###### 扩展

类型 : `string`  
示例 `'js'`

文件扩展名.

## 进度报告

### cpy.on ('进度', 处理器)

#### 处理器( 进度)

类型 : `Function`

##### 进展

```js
{
    completedFiles: number,
    totalFiles: number,
    completedSize: number,
    percent: number
}
```

-   `completedSize` 以字节表示
-   `percent` 是介于 `0` 财务报告和审定财务报表 `1`

注意 `.on()` 方法仅在初始状态之后才使用 `cpy` 打电话,所以请确保您添加一个 `handler` 在等待承诺之前:

```js
(async () => {
    await cpy(source, destination).on("progress", (progress) => {
        // …
    });
})();
```

## 相关

-   [(cpy-cli语)](https://github.com/sindresorhus/cpy-cli) - 本单元的CLI
-   [cp 文档](https://github.com/sindresorhus/cp-file) - 复制一个文件
-   [移动文件](https://github.com/sindresorhus/move-file) - 移动一个文件
-   [编目线](https://github.com/sindresorhus/make-dir) - 必要时编制目录及其父母

## 常见问题

### @brickdoc/cpy 是什么？

复制文件

### 如何安装 @brickdoc/cpy？

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

### @brickdoc/cpy 支持 TypeScript 吗？

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

### @brickdoc/cpy 需要什么版本的 Node\.js？

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

### @brickdoc/cpy 可以商用吗？

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

### @brickdoc/cpy 的下载量有多少？

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

### @brickdoc/cpy 还在维护吗？

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

