# @cjser/slice-ansi 中文文档

规范地址：https://npmcn.com/package/%40cjser/slice-ansi/

版本：10\.0\.0-cjser\.2
npm 元数据更新时间：2026-10-31T18:23:19.144Z
中文译文更新时间：2026-10-31T19:53:44.153Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40cjser/slice-ansi
原文对照：https://npmcn.com/package/%40cjser/slice-ansi/?lang=original
源码仓库：https://code.moenext.com/3rdeye/cjser

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

- 包体积（解压后）：61.2 kB，7 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=22
- 运行依赖：2 个
- 首次发布：2026-05-07T05:16:54.371Z
- 最新版本发布：2026-10-31T18:23:18.945Z
- 已发布版本数：3（近 12 个月 3 个）

## 中文简介

使用ANSI转义码对字符串进行切片

## 安装

```sh
npm install @cjser/slice-ansi
```

也可以使用：`pnpm add @cjser/slice-ansi`、`yarn add @cjser/slice-ansi`、`bun add @cjser/slice-ansi`

## README

# slice-ansi [![XO: Linted](https://img.shields.io/badge/xo-linted-blue.svg)](https://github.com/xojs/xo)

> 对字符串进行切片 [ANSI转义码](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors_and_Styles)

## 安装

```sh
npm install slice-ansi
```

## 使用

```js
import chalk from 'chalk';
import sliceAnsi from 'slice-ansi';

const string = 'The quick brown ' + chalk.red('fox jumped over ') +
    'the lazy ' + chalk.green('dog and then ran away with the unicorn.');

console.log(sliceAnsi(string, 20, 30));
```

## API

### sliceAnsi（字符串，开始切片，结束切片？）

列的计数方式与 [`string-width`](https://github.com/sindresorhus/string-width).

> \[!请注意) 制表符和其他控制字符不包含列。如果需要制表符，请先用空格替换制表符。

#### 字符串

类型: `string`

带有ANSI转义码的字符串。就像一个 [`chalk`](https://github.com/chalk/chalk).

#### startSlice

类型: `number`

从零基可见列索引开始切片。字形集群（例如，表情符号序列和组合标记）保持完整。

#### endSlice

类型: `number`

以零为基础的可见列索引，在此索引处结束切片。 如果一个完整的字素簇会交叉 `endSlice`，它被排除在外。

## 相关

-   [wrap-ansi](https://github.com/chalk/wrap-ansi) -用ANSI转义码对字符串进行换行
-   [cli-truncate](https://github.com/sindresorhus/cli-truncate) —在终端中将字符串截断为指定的宽度
-   [粉笔](https://github.com/chalk/chalk) -终端字符串造型正确

## 维护人员

-   [Sindre Sorhus](https://github.com/sindresorhus)
-   [Josh Junon](https://github.com/qix-)

## cjser

这个包是由cjser为仍然需要的项目生成的commonjs兼容的构建 `require()` 支持。源版本与原始的npm包版本匹配，对这个生成的构建带有cjser预发布后缀。 原始存储库: [https://github.com/chalk/slice-ansi](https://github.com/chalk/slice-ansi)

## 常见问题

### @cjser/slice-ansi 是什么？

使用ANSI转义码对字符串进行切片

### 如何安装 @cjser/slice-ansi？

在项目目录运行 npm install @cjser/slice-ansi，或使用 pnpm add / yarn add / bun add。

### @cjser/slice-ansi 支持 TypeScript 吗？

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

### @cjser/slice-ansi 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @cjser/slice-ansi 需要什么版本的 Node\.js？

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

### @cjser/slice-ansi 可以商用吗？

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

### @cjser/slice-ansi 还在维护吗？

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

