# @base2/pretty-print-object 中文文档

规范地址：https://npmcn.com/package/%40base2/pretty-print-object/

版本：1\.0\.4
npm 元数据更新时间：2026-10-18T12:57:10.063Z
中文译文更新时间：2026-11-07T17:31:35.678Z
软件包许可：BSD-2-Clause

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

原始 npm 页面：https://www.npmjs.com/package/%40base2/pretty-print-object
原文对照：https://npmcn.com/package/%40base2/pretty-print-object/?lang=original
项目主页：https://github.com/Chris-Baker/pretty-print-object#readme
源码仓库：https://github.com/Chris-Baker/pretty-print-object

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

- 包体积（解压后）：16.1 kB，5 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2019-09-02T12:54:07.545Z
- 最新版本发布：2026-10-18T12:57:09.849Z
- 近 30 天下载量：7710569（2026-10-08 至 2026-11-06，npm 官方下载统计）
- 已发布版本数：11（近 12 个月 2 个）

## 中文简介

将对象或数组转换为格式化的字符串

## 安装

```sh
npm install @base2/pretty-print-object
```

也可以使用：`pnpm add @base2/pretty-print-object`、`yarn add @base2/pretty-print-object`、`bun add @base2/pretty-print-object`

## README

# 漂亮的打印对象

[![License](https://img.shields.io/badge/License-BSD%202--Clause-orange.svg)](https://opensource.org/licenses/BSD-2-Clause) [![CI](https://github.com/Chris-Baker/pretty-print-object/actions/workflows/ci.yml/badge.svg)](https://github.com/Chris-Baker/pretty-print-object/actions/workflows/ci.yml)

> 将对象或数组转换为格式化的字符串

这是重写 [字符串对象](https://www.npmjs.com/package/stringify-object) 在 Typescript中,修改为内含依赖性,使其能与框外的ES5相容.

当您想要以格式化的方式获得对象的字符串表示时有用 .

它还处理循环引用,并让您指定引用类型.

## 安装

```
$ npm install @base2/pretty-print-object
```

## 使用量

```js
import { prettyPrint } from '@base2/pretty-print-object';

const obj = {
    foo: 'bar',
    arr: [1, 2, 3],
    nested: {
        hello: 'world'
    }
};

const pretty = prettyPrint(obj, {
    indent: '  ',
    singleQuotes: false
});

console.log(pretty);
/*
{
  foo: "bar",
  arr: [
    1,
    2,
    3
  ],
  nested: {
    hello: "world"
  }
}
*/
```

## API 密码

### prettyPrint( 输入, \[选项\])

无效的日期打印为 `Invalid Date` 而不是放弃一个例外。 有效日期 保留 `new Date('...')` 代表权.

通知参考资料将替换为 `"[Circular]"`。 。 。 .

仅在必要时引用对象密钥,例如:, `{'foo-bar': true}`。 。 。 .

#### 投入

类型 : `Object` `Array`

#### 选项

类型 : `Object`

##### 缩进

类型 : `string`  
默认 : `\t`

偏好缩入.

##### 单引号

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

设定为假以获得双引字符串 .

##### 过滤器( obj, 道具)

类型 : `Function`

预期返回a `boolean` 是否包括财产 `prop` 对象 `obj` 在输出中.

##### 变换( obj、 道具、 原始结果)

类型 : `Function`  
默认 : `undefined`

预期返回a `string` 转换由字符串产生的字符串 `obj[prop]`。这可用于检测需要以特定方式被字符串的特殊类型物体。 这个 `transform` 函数在此情况下可能返回一个替代字符串,否则返回 `originalResult`。 。 。 .

这里有一个例子,使用 `transform` 选项以遮盖名为“密码”的字段:

```js
import { prettyPrint } from '@base2/pretty-print-object';

const obj = {
    user: 'becky',
    password: 'secret'
};

const pretty = prettyPrint(obj, {
    transform: (obj, prop, originalResult) => {
        if (prop === 'password') {
            return originalResult.replace(/\w/g, '*');
        }

        return originalResult;
    }
});

console.log(pretty);
/*
{
    user: 'becky',
    password: '******'
}
*/
```

##### 内置切开器Limit

类型 : `number`

设置时, 将内入值至 `inlineCharacterLimit` 长度,以便输出更多点.

例如,在README顶端的例子:

```js
import { prettyPrint } from '@base2/pretty-print-object';

const obj = {
    foo: 'bar',
    arr: [1, 2, 3],
    nested: {
        hello: 'world'
    }
};

const pretty = prettyPrint(obj, {
    indent: '  ',
    singleQuotes: false,
    inlineCharacterLimit: 12
});

console.log(pretty);
/*
{
  foo: "bar",
  arr: [1, 2, 3],
  nested: {
    hello: "world"
  }
}
*/
```

如你所见, `arr` 被打印为一行,因为它的字符串短于12个字符.

## 常见问题

### @base2/pretty-print-object 是什么？

将对象或数组转换为格式化的字符串

### 如何安装 @base2/pretty-print-object？

在项目目录运行 npm install @base2/pretty-print-object，或使用 pnpm add / yarn add / bun add。

### @base2/pretty-print-object 支持 TypeScript 吗？

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

### @base2/pretty-print-object 支持 ESM 还是 CommonJS？

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

### @base2/pretty-print-object 可以商用吗？

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

### @base2/pretty-print-object 的下载量有多少？

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

### @base2/pretty-print-object 还在维护吗？

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

