@appwrite.io/console

中文文档
21.0.0发布于 2026/11/05BSD-3-ClauseTypeScriptESM + CJS构建来源已验证近 30 天下载 8313

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

中文使用文档
文档目录13 节
  1. 安装
  2. 无
  3. 光盘N
  4. 开始
  5. 添加网络平台
  6. 初始化客户端
  7. 提出第一个要求
  8. 与 OAuth 签名
  9. 型号安全
  10. 处理错误
  11. 学多点
  12. 捐款
  13. 许可证

使用控制台 SDK

License Version X Account Discord

这个SDK目标为Appwrite服务器版本2.7.x被运出Appwrite Cloud. 自营发布可落后于Cloud——如果运行自营的旧建筑,使用相匹配的自营的旧SDK 以往版本 当APIs不同时.

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

Appwrite

安装

无

npm install @appwrite.io/console

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

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 重新输出所有的东西, 所以导入它加载每个服务:

<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 对象 :

<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获得:

<script src="https://cdn.jsdelivr.net/npm/@appwrite.io/[email protected]"></script>

开始

添加网络平台

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

初始化客户端

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

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 参考 每一个服务和方法.

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

const account = new Account(client);

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

console.log(user);

与 OAuth 签名

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

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,接受对您自己的行形状的类型参数:

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可以提供相同类型:

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 可以从您的数据库计划中生成这些界面 appwrite types。见 类型生成。 。 。 .

处理错误

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

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);
    }
}

这个 响应代码 页面列出每个错误类型.

学多点

捐款

此库由 Appwrite 自动生成 SDK 生成器。为了了解更多如何帮助我们改进这个SDK,请检查 捐款指南 在发出拉动请求之前.

许可证

请看 BSD-3-休闲许可证 文档以获取更多信息.

版本与发布记录

@appwrite.io/console 共发布 128 个版本,首次发布于 2023/02/28;过去 12 个月发布了 63 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
21.0.0latest2026/11/052 天前
20.1.0-rc.3next2026/11/052 天前
20.1.0-rc.22026/10/2612 天前
20.1.0-rc.12026/10/2612 天前
20.0.02026/10/1919 天前
19.1.0-rc.12026/10/1325 天前

关于 @appwrite.io/console 的常见问题

@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 和提交记录判断。