# @convergence/convergence 中文文档

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

版本：1\.0\.0-rc\.12
npm 元数据更新时间：2022-06-12T16:38:42.882Z
中文译文更新时间：2026-11-11T01:15:32.894Z
软件包许可：LGPL-3\.0-only

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

原始 npm 页面：https://www.npmjs.com/package/%40convergence/convergence
原文对照：https://npmcn.com/package/%40convergence/convergence/?lang=original
项目主页：https://convergence.io/
源码仓库：https://github.com/convergencelabs/convergence-client-javascript

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

- 包体积（解压后）：30.3 MB，562 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：2 个
- 首次发布：2017-01-09T04:12:46.344Z
- 最新版本发布：2021-07-23T19:12:43.304Z
- 近 30 天下载量：2310（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：57（近 12 个月 0 个）

## 中文简介

JavaScript 客户端

## 安装

```sh
npm install @convergence/convergence
```

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

## README

# 概览

此软件包提供了 Convergence JavaScript API 的 npm 分布, 用于与 [协同协作框架](https://convergence.io/)。 。 。 .

Convergence是快速发展实时协作应用的引擎. 协和的核心是它的协作实时数据存储. 如果其他框架停止试图提供实时数据,则通过提供 **全部** 开发者需要构建一个 **有效** 财务报告和审定财务报表 **直观** 合作应用。 其中的一些要点包括:

-   **实时数据**:允许用户同时编辑同一数据,使每个人对数据的看法保持同步.
-   **用户和身份**:允许开发人员在系统内创建和管理用户及其身份,使用户知道他们与谁合作.
-   **出席情况**:允许用户了解"谁在这里?"和"谁在",这样他们就可以更有效地与需要的其他用户合作.
-   **协作意识**:解决编辑冲突的最佳方法是首先避免. 趋同提供了强大的协作意识能力,帮助用户在不发生冲突的情况下合作.
-   **聊天通讯( M)**:允许用户通过直接嵌入在应用程序中的聊天进行沟通.

趋同性在单一的API中提供了所有这一切和更多,减少了将多框架粘合在一起的时间和复杂性. 有了同心协力,你可以在数小时之内,而不是数月之内起跑.

# 安装

```shell
npm install --save @convergence/convergence
```

# 示例使用

```javascript
const Convergence = require("@convergence/convergence").Convergence;

const url = "https://convergence-server.myhost.com/mynamespace/mydomain";
const credentials = { username: "myuser", password: "mypassword" };

Convergence.connectWithPassword(url, credentials).then(domain => {
  // open an employee data model.
  return domain.models().open("employees", "doe.john");
}).then(model => {
  // Get the root elemenet in the model.
  const data = model.root();
  
  // Set some data
  data.set("fisrtName", "John");
  data.set("lastName", "Doe");
  
  // Get the firstName property directly
  const firstName = data.elementAt("firstName");
  
  // Rest the first name's value
  firstName.value("Dan");
  
  // Listen for course grained changes
  firstName.on("value", () => {
    console.log(firstName.value)
  });
  
  // Insert 'ny' into the string at index 3.
  firstName.insert(3, "ny");
  
  // Listen for course grained changes
  firstName.on("insert", (evt) => {
    console.log(`characters '${evt.value}' added at position (${evt.index})`)
  });
});
```

# 文档

汇集文件的全部内容如下:

[https://convergence.io/learn/ (英语)](https://convergence.io/learn/)

# 浏览器中的热链接

相会需要RxJS 6.x. 使用 npm 模块时会照顾到这种依赖性 。 如果通过脚本标签包含的话, 您也必须包含 rxjs .

```html
<script src="https://cdnjs.cloudflare.com/ajax/libs/rxjs/6.6.3/rxjs.umd.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@convergence/convergence/convergence.global.js"></script>
```

这将增加一个 `Convergence` 变量到全局命名空间.

还有AMD版本:

```html
<script src="https://cdnjs.cloudflare.com/ajax/libs/rxjs/6.6.3/rxjs.umd.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@convergence/convergence/convergence.amd.js"></script>
```

## 许可证

Convergence JavaScript 客户端根据 [更少的 GNU 公共许可证 v3](https://npmcn.com/package/%40convergence/convergence/COPYING.LESSER) (LGPLv3) (英语). 这使得开发人员可以使用客户端,而无需在LGPLv3下发布他们的代码,假设他们只使用客户端作为库而不会修改. 参见 [乘车](https://npmcn.com/package/%40convergence/convergence/COPYING) 财务报告和审定财务报表 [驾驶员](https://npmcn.com/package/%40convergence/convergence/COPYING.LESSER) 许可证的具体条款和条件.

统一客户也可凭商业许可证获得。 如果你对非公开源码许可有兴趣 请联系我们 [聚合实验室](https://convergencelabs.com/)。 。 。 .

## 常见问题

### @convergence/convergence 是什么？

JavaScript 客户端

### 如何安装 @convergence/convergence？

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

### @convergence/convergence 支持 TypeScript 吗？

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

### @convergence/convergence 支持 ESM 还是 CommonJS？

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

### @convergence/convergence 可以商用吗？

@convergence/convergence 使用 LGPL-3\.0-only 许可。弱 Copyleft：作为库被调用时通常不要求开源你自己的代码，但修改库本身需以 LGPL 开源；前端打包合并后的适用边界存在不同理解。以上为概括，不构成法律意见，请以许可原文为准。

### @convergence/convergence 的下载量有多少？

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

### @convergence/convergence 还在维护吗？

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

