# @achingbrain/chai-string 中文文档

规范地址：https://npmcn.com/package/%40achingbrain/chai-string/

版本：2\.0\.1
npm 元数据更新时间：2024-05-01T12:57:15.000Z
中文译文更新时间：2026-11-05T23:40:36.660Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：20.3 kB，7 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2024-05-01T12:02:09.141Z
- 最新版本发布：2024-05-01T12:57:14.822Z
- 近 30 天下载量：9234（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：2（近 12 个月 0 个）

## 中文简介

chai 的字符串比较比对器

## 安装

```sh
npm install @achingbrain/chai-string
```

也可以使用：`pnpm add @achingbrain/chai-string`、`yarn add @achingbrain/chai-string`、`bun add @achingbrain/chai-string`

## README

叉子为 [柴弦](https://www.npmjs.com/package/chai-string)

-   作为无害环境管理发布
-   与柴五兼容
-   删除 `chai.string.XXX`,仅支持 `expect`编号 :`assert` 样式断言

# 柴弦

匹配 Chai 的字符串比较断言.

[![Build Status](https://travis-ci.org/onechiporenko/chai-string.png?branch=master)](https://travis-ci.org/onechiporenko/chai-string) [![Downloads](http://img.shields.io/npm/dm/chai-string.svg)](http://img.shields.io/npm/dm/chai-string.svg)

## 使用量

### 浏览器

```html
<script src="chai.js"></script>
<script src="chai-string.js"></script>
```

### 服务器

```javascript
import * as chai from 'chai'
import string from '@achingbrain/chai-string'

chai.use(require('chai-string'))
```

## 请求

-   启动/启动
-   结束与结束
-   等离子目录
-   相等的忽略空间
-   包含忽略空间
-   包含忽略库
-   单行
-   倒转
-   帕林德罗
-   条目
-   索引

所有断言都为BDD语法和TDD语法所定义,但有一些别名存在,使这些断言在两种风格中都显得很好.

```javascript
var d1 = 'abcdef',
    d2 = 'abc';

d1.should.startWith.d2
expect(d1).to.startsWith(d2)
assert.startsWith(d1, d2)
```

### 启动/启动

```javascript
assert.startsWith('abcdef', 'abc');
expect('abcdef').to.startsWith('abc');
'abcdef'.should.startWith('abc');
```

### 结束与结束

```javascript
assert.endsWith('abcdef', 'def');
expect('abcdef').to.endsWith('def');
'abcdef'.should.endWith('def');
```

### 等离子目录

```javascript
assert.equalIgnoreCase('abcdef', 'AbCdEf');
expect('abcdef').to.equalIgnoreCase('AbCdEf');
```

### 相等的忽略空间

```javascript
assert.equalIgnoreSpaces('abcdef', 'a\nb\tc\r d  ef');
expect('abcdef').to.equalIgnoreSpaces('a\nb\tc\r d  ef');
```

### 包含忽略空间

```javascript
assert.containIgnoreSpaces('abcdefgh', 'a\nb\tc\r d  ef');
expect('abcdefgh').to.containIgnoreSpaces('a\nb\tc\r d  ef');
```

### 包含忽略库

```javascript
assert.containIgnoreCase('abcdefgh', 'AbcDefGH');
expect('abcdefgh').to.containIgnoreCase('AbcDefGH');
'abcdef'.should.containIgnoreCase('cDe');
```

### 单行

```javascript
assert.singleLine('abcdef');
expect('abcdef').to.be.singleLine();
```

### 倒转

```javascript
assert.reverseOf('abcdef', 'fedcba');
expect('abcdef').to.be.reverseOf('fedcba');
```

### 帕林德罗

```javascript
assert.palindrome('abccba');
expect('abccba').to.be.palindrome();
```

### 条目

```javascript
assert.entriesCount('abcabd', 'ab', 2);
expect('abcabd').to.have.entriesCount('ab', 2);
```

### 索引

```javascript
assert.indexOf('abcabd', 'ab', 0);
expect('abcabd').to.have.indexOf('ab', 0);
```

## 谢谢

谢谢 [约会时间](https://github.com/gaslight/chai-datetime) 模块,用于给我一个如何构建和测试 chai 插件的想法.

## 常见问题

### @achingbrain/chai-string 是什么？

chai 的字符串比较比对器

### 如何安装 @achingbrain/chai-string？

在项目目录运行 npm install @achingbrain/chai-string，或使用 pnpm add / yarn add / bun add。

### @achingbrain/chai-string 支持 TypeScript 吗？

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

### @achingbrain/chai-string 支持 ESM 还是 CommonJS？

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

### @achingbrain/chai-string 可以商用吗？

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

### @achingbrain/chai-string 的下载量有多少？

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

### @achingbrain/chai-string 还在维护吗？

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

