# @appwrite\.io/console 中文文档

规范地址：https://npmcn.com/package/%40appwrite.io/console/

版本：21\.0\.0
npm 元数据更新时间：2026-11-05T11:14:55.952Z
中文译文更新时间：2026-11-06T12:44:37.613Z
软件包许可：BSD-3-Clause

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

原始 npm 页面：https://www.npmjs.com/package/%40appwrite.io/console
原文对照：https://npmcn.com/package/%40appwrite.io/console/?lang=original
项目主页：https://appwrite.io/support
源码仓库：https://github.com/appwrite/sdk-for-console

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

- 包体积（解压后）：43.2 MB，197 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=20\.0\.0
- 运行依赖：3 个
- 首次发布：2023-02-28T09:52:32.123Z
- 最新版本发布：2026-11-05T11:14:55.612Z
- 近 30 天下载量：8313（2026-10-07 至 2026-11-05，npm 官方下载统计）
- 已发布版本数：128（近 12 个月 63 个）

## 中文简介

Appwrite 是一个开源的自托管后端服务器,在非常简单的 REST API 背后摘要并简化复杂而重复的开发任务

## 安装

```sh
npm install @appwrite.io/console
```

也可以使用：`pnpm add @appwrite.io/console`、`yarn add @appwrite.io/console`、`bun add @appwrite.io/console`

## README

# 使用控制台 SDK

![License](https://img.shields.io/badge/license-BSD--3--Clause-blue.svg?style=flat-square) ![Version](https://img.shields.io/badge/api%20version-2.7.0-blue.svg?style=flat-square) [![X Account](https://img.shields.io/badge/follow-%40appwrite-000000?logo=x&style=flat-square)](https://x.com/appwrite) [![Discord](https://img.shields.io/discord/564160730845151244?label=discord&style=flat-square)](https://appwrite.io/discord)

**这个SDK目标为Appwrite服务器版本2.7.x被运出Appwrite Cloud.** 自营发布可落后于Cloud——如果运行自营的旧建筑,使用相匹配的自营的旧SDK [以往版本](https://github.com/appwrite/sdk-for-console/releases) 当APIs不同时.

Appwrite是一个开源后端,作为服务服务器,在非常简单的使用REST API的背后,摘要并简化了复杂而重复的开发任务. Appwrite旨在帮助您更快和更安全地开发您的应用程序. 使用 Console SDK 将您的应用程序与 Appwrite 服务器集成,以方便地开始与 Appwrite 后端的 API 和工具进行互动. API 完整文档和教程 [https://appwrite.io/docs (英语)](https://appwrite.io/docs)

![Appwrite](https://github.com/appwrite/appwrite/raw/main/public/images/github.png)

## 安装

### 无

```bash
npm install @appwrite.io/console
```

导入所需的模块 。 包件船ES模块,C通JS和TypeScript类型:

```js
import { Client, Account } from '@appwrite.io/console';
```

### 光盘N

每一份发行都向 `https://sdk.appwrite.io/console/21.0.0/`。 。 。 .

#### ES模块

每个服务,助手和enum都是自己的模块,因此浏览器只下载所导入的内容. 服务在kebab案件中以其名义提供,例如: `TablesDB` 从 `tables-db.js`,然后在 `enums/`,例如 `OAuthProvider` 从 `enums/o-auth-provider.js`。 。 。 . `index.js` 重新输出所有的东西, 所以导入它加载每个服务:

```html
<script type="module">
    import { Client } from 'https://sdk.appwrite.io/console/21.0.0/client.js';
    import { Account } from 'https://sdk.appwrite.io/console/21.0.0/account.js';
    import { OAuthProvider } from 'https://sdk.appwrite.io/console/21.0.0/enums/o-auth-provider.js';
</script>
```

#### 脚本标签

在使用 SDK 的代码之前添加脚本 。 它暴露了全球所有出口 `Appwrite` 对象 :

```html
<script src="https://sdk.appwrite.io/console/21.0.0/sdk.min.js"></script>
<script>
    const { Client, Account } = Appwrite;
</script>
```

#### 次级资源完整性

`integrity.json` 在同一目录地图中 `.js` 转到它的 `sha384-` 散货 一个 `integrity` 属性检查只检查它所设置的文件. `sdk.min.js` 是一个单一的文件,所以它的散列像 `integrity` 属性,连同 `crossorigin="anonymous"`覆盖整个SDK. ES模块导入其他模块和共享块,从而通过 `integrity` 字段以覆盖这些区域.

#### 日记

脚本标签构建也可以从jsDelivr获得:

```html
<script src="https://cdn.jsdelivr.net/npm/@appwrite.io/console@21.0.0"></script>
```

## 开始

### 添加网络平台

在 Appwrite Console 中,打开您的项目和下面 **添加一个平台** 选择 **网络应用**。输入您的应用程序运行在的主机名 : `localhost` 用于本地开发, 以及您部署后的生产领域。 仅接受注册为平台的主机名的浏览器请求,因此一个缺失的主机名作为CORS错误出现.

### 初始化客户端

从您的项目中复制您的端点和工程ID **设置** 页 次.

```js
import { Client } from '@appwrite.io/console';

const client = new Client()
    .setEndpoint('https://<REGION>.cloud.appwrite.io/v1')
    .setProject('<PROJECT_ID>');
```

用于自备的 Appwrite, 使用 `https://<HOSTNAME>/v1` 作为终点.

### 提出第一个要求

从客户端创建服务并调用其任何方法 。 每一种方法都取出一个命名参数的单个对象并返回一个承诺. 见 [API 参考](https://appwrite.io/docs/references) 每一个服务和方法.

```js
import { Account, ID } from '@appwrite.io/console';

const account = new Account(client);

const user = await account.create({
    userId: ID.unique(),
    email: 'email@example.com',
    password: 'password',
    name: "Walter O'Brien",
});

console.log(user);
```

### 与 OAuth 签名

启用控制台下的提供者 **认证 > 设置**,然后将用户重定向到它。 这个 `success` 财务报告和审定财务报表 `failure` URL必须位于您注册为平台的主机名上.

```js
import { Account, OAuthProvider } from '@appwrite.io/console';

const account = new Account(client);

account.createOAuth2Session({
    provider: OAuthProvider.Github,
    success: 'https://example.com/success',
    failure: 'https://example.com/failure',
});
```

### 型号安全

返回行的方法,例如 `listRows` 财务报告和审定财务报表 `getRow`,接受对您自己的行形状的类型参数:

```ts
import { TablesDB, type Models } from '@appwrite.io/console';

interface Book extends Models.Row {
    name: string;
    author: string;
    releaseYear?: string;
    genre?: string[];
    isCheckedOut: boolean;
}

const tablesDB = new TablesDB(client);

const result = await tablesDB.listRows<Book>({
    databaseId: '<DATABASE_ID>',
    tableId: '<TABLE_ID>',
});

for (const book of result.rows) {
    console.log(`${book.name} by ${book.author}`);
}
```

在JavaScript中,通过JSDoc可以提供相同类型:

```js
import { TablesDB } from '@appwrite.io/console';

const tablesDB = new TablesDB(client);

/**
 * @typedef {import('@appwrite.io/console').Models.Row & {
 *     name: string,
 *     author: string,
 *     isCheckedOut: boolean,
 * }} Book
 */

/** @type {import('@appwrite.io/console').Models.RowList<Book>} */
const result = await tablesDB.listRows({
    databaseId: '<DATABASE_ID>',
    tableId: '<TABLE_ID>',
});
```

这个 [申请CLI](https://github.com/appwrite/sdk-for-cli) 可以从您的数据库计划中生成这些界面 `appwrite types`。见 [类型生成](https://appwrite.io/docs/products/databases/tablesdb/type-generation)。 。 。 .

### 处理错误

请求失败 `AppwriteException` 与 `message`, (中文(简体) ), `code`, (中文(简体) ), `type` 财务报告和审定财务报表 `response` 属性.

```js
import { AppwriteException } from '@appwrite.io/console';

try {
    const user = await account.get();
    console.log(user);
} catch (error) {
    if (error instanceof AppwriteException) {
        console.error(error.code, error.type, error.message);
    }
}
```

这个 [响应代码](https://appwrite.io/docs/apis/response-codes) 页面列出每个错误类型.

### 学多点

-   [网络快速启动](https://appwrite.io/docs/quick-starts/web)
-   [申请文件](https://appwrite.io/docs)
-   [Discord 社区](https://appwrite.io/discord)

## 捐款

此库由 Appwrite 自动生成 [SDK 生成器](https://github.com/appwrite/sdk-generator)。为了了解更多如何帮助我们改进这个SDK,请检查 [捐款指南](https://github.com/appwrite/sdk-generator/blob/main/CONTRIBUTING.md) 在发出拉动请求之前.

## 许可证

请看 [BSD-3-休闲许可证](https://raw.githubusercontent.com/appwrite/appwrite/master/LICENSE) 文档以获取更多信息.

## 常见问题

### @appwrite\.io/console 是什么？

Appwrite 是一个开源的自托管后端服务器,在非常简单的 REST API 背后摘要并简化复杂而重复的开发任务

### 如何安装 @appwrite\.io/console？

在项目目录运行 npm install @appwrite\.io/console，或使用 pnpm add / yarn add / bun add。

### @appwrite\.io/console 支持 TypeScript 吗？

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

### @appwrite\.io/console 支持 ESM 还是 CommonJS？

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

### @appwrite\.io/console 需要什么版本的 Node\.js？

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

### @appwrite\.io/console 可以商用吗？

@appwrite\.io/console 使用 BSD-3-Clause 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。另外不得用原作者名义为衍生产品背书。以上为概括，不构成法律意见，请以许可原文为准。

### @appwrite\.io/console 的下载量有多少？

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

### @appwrite\.io/console 还在维护吗？

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

