# @75lb/deep-merge 中文文档

规范地址：https://npmcn.com/package/%4075lb/deep-merge/

版本：1\.1\.5
npm 元数据更新时间：2026-10-14T12:44:53.444Z
中文译文更新时间：2026-11-05T16:56:36.039Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%4075lb/deep-merge
原文对照：https://npmcn.com/package/%4075lb/deep-merge/?lang=original
项目主页：https://github.com/75lb/deep-merge#readme
源码仓库：https://github.com/75lb/deep-merge

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

- 包体积（解压后）：56.7 kB，5 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=12\.17
- 运行依赖：2 个
- peer 依赖：@75lb/nature latest
- 首次发布：2021-06-09T11:20:33.665Z
- 最新版本发布：2026-10-14T12:44:53.267Z
- 近 30 天下载量：3121453（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：7（近 12 个月 3 个）

## 中文简介

将一个对象结构的值深入到另一个对象结构

## 安装

```sh
npm install @75lb/deep-merge
```

也可以使用：`pnpm add @75lb/deep-merge`、`yarn add @75lb/deep-merge`、`bun add @75lb/deep-merge`

## README

[![view on npm](https://badgen.net/npm/v/@75lb/deep-merge)](https://www.npmjs.org/package/@75lb/deep-merge) [![npm module downloads](https://badgen.net/npm/dt/@75lb/deep-merge)](https://www.npmjs.org/package/@75lb/deep-merge) [![Gihub repo dependents](https://badgen.net/github/dependents-repo/75lb/deep-merge)](https://github.com/75lb/deep-merge/network/dependents?dependent_type=REPOSITORY) [![Gihub package dependents](https://badgen.net/github/dependents-pkg/75lb/deep-merge)](https://github.com/75lb/deep-merge/network/dependents?dependent_type=PACKAGE) [![Node.js CI](https://github.com/75lb/deep-merge/actions/workflows/node.js.yml/badge.svg)](https://github.com/75lb/deep-merge/actions/workflows/node.js.yml)

# @ 75lb/ 深潜

将一个对象结构的值深入到另一个对象结构中. 类似 [`Object.assign()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign) 但它处理对象结构的全部深度,而不仅仅是顶层。 用于合并配置 .

## 概要

```js
import deepMerge from '@75lb/deep-merge'

```

### 简单

典型的例子合并了四个对象。 输入 :

```js
deepMerge(
  { port: 8000, data: { animal: 'cow' } },
  { stack: ['one'] },
  { stack: ['two'], help: true },
  { data: { animal: 'bat', metal: 'iron' } }
)
```

结果

```js
{
  port: 8000,
  stack: ['two'],
  help: true,
  data: { animal: 'bat', metal: 'iron' }
}
```

### 阵列

空数组被忽略而不被合并 。 输入 :

```js
deepMerge(
  { stack: ['one'] },
  { stack: [] }
)
```

结果 :

```js
{ stack: ['one'] }
```

然而,如果后置数组包含一个或多个值,后置数组将 _替换_ 原文:

```js
deepMerge(
  { stack: ['one'] },
  { stack: ['two'] }
)
```

结果 :

```js
{ stack: ['two'] }
```

### 随地装入

这个库兼容Node.js,Web和任何模块加载器的风格. 它可以在任何地方被装入,在本土没有转录.

在ECMAScript模块中:

```js
import deepMerge from '@75lb/deep-merge'
```

在现代浏览器ECMAScript模块中:

```js
import deepMerge from './node_modules/@75lb/deep-merge/dist/index.mjs'
```

* * *

2018-26 (英语) [劳埃德·布鲁克斯](https://github.com/75lb) <开源@75lb.com>.

## 常见问题

### @75lb/deep-merge 是什么？

将一个对象结构的值深入到另一个对象结构

### 如何安装 @75lb/deep-merge？

在项目目录运行 npm install @75lb/deep-merge，或使用 pnpm add / yarn add / bun add。

### @75lb/deep-merge 支持 TypeScript 吗？

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

### @75lb/deep-merge 支持 ESM 还是 CommonJS？

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

### @75lb/deep-merge 需要什么版本的 Node\.js？

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

### @75lb/deep-merge 可以商用吗？

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

### @75lb/deep-merge 的下载量有多少？

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

### @75lb/deep-merge 还在维护吗？

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

