# @aerokit/sdk 中文文档

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

版本：15\.15\.0
npm 元数据更新时间：2026-11-04T14:19:46.935Z
中文译文更新时间：2026-11-06T03:33:51.321Z
软件包许可：EPL-2\.0

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

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

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

- 包体积（解压后）：5.4 MB，411 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：@playwright/test \>=1\.45，@axe-core/playwright \>=4\.10
- 首次发布：2025-11-14T12:41:57.037Z
- 最新版本发布：2026-11-04T14:19:46.543Z
- 近 30 天下载量：5510（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：182（近 12 个月 182 个）

## 中文简介

现代云平台的统一类型SDK.

## 安装

```sh
npm install @aerokit/sdk
```

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

## README

# @ aerokit/ sdk (英语)

[![npm version](https://badge.fury.io/js/%40aerokit%2Fsdk.svg)](https://www.npmjs.com/package/@aerokit/sdk) [![License](https://img.shields.io/badge/License-EPL--2.0-blue.svg)](https://opensource.org/licenses/EPL-2.0)

> **以统一的TypeScript SDK为现代云平台,加快您的应用和集成开发.**

* * *

## 概览

`@aerokit/sdk` 页:1 **模块**, (中文(简体) ), **服务器侧类型Script** 为开发轻量级而设计的运行时间 API 应用、自动化脚本和跨云层或精密环境的扩展.

* * *

## 核心特征

-   **类型脚本第一 API** – 丰富的类型定义和IDE自动补全,用于生产,安全的脚本.
-   **统一平台模式** – HTTP, I/O, Database, Filesystem, Security, Jobs, and Message 的常见抽象.
-   **内置装饰器** - 简化发展方式 `@Controller`, (中文(简体) ), `@Entity`, (中文(简体) ), `@Scheduled`, (中文(简体) ), `@Component`, (中文(简体) ), `@Injected`, (中文(简体) ), 还有更多.
-   **无接缝依赖性注射** – 连接模块化业务逻辑的轻量级IoC机制.
-   **可累积持久性** - 通过SQL和NoSQL工作 `sdk/sdk/db` API (英语).
-   **企业准备的 HTTP 层** - 与 `sdk/sdk/http`。 。 。 .
-   **背景任务和听众** - 使用 `sdk/sdk/job` 或事件驱动的听众 `sdk/component`。 。 。 .
-   **广泛运行时间** - 在不重新部署的情况下动态部署、扩展和运行模块.

* * *

## 示例

### `CountryEntity.ts`

```typescript
import { Entity, Table, Id, Generated, Column, Documentation } from "@aerokit/sdk/db";

@Entity("CountryEntity")
@Table("SAMPLE_COUNTRY")
@Documentation("Sample Country Entity")
export class CountryEntity {

    @Id()
    @Generated("sequence")
    @Column({ name: "COUNTRY_ID", type: "long" })
    @Documentation("My Id")
    public Id?: number;

    @Column({ name: "COUNTRY_NAME", type: "string" })
    @Documentation("My Name")
    public Name?: string;

    @Column({ name: "COUNTRY_CODE2", type: "string" })
    public Code2?: string;

    @Column({ name: "COUNTRY_CODE3", type: "string" })
    public Code3?: string;

    @Column({ name: "COUNTRY_NUMERIC", type: "string" })
    public Numeric?: string;

}
```

### `CountryRepository.ts`

```typescript
import { Repository, EntityConstructor } from "@aerokit/sdk/db";
import { Component } from "@aerokit/sdk/component";
import { CountryEntity } from "./CountryEntity";

@Component('CountryRepository')
export class CountryRepository extends Repository<CountryEntity> {

    constructor() {
        super((CountryEntity as EntityConstructor));
    }

}

CountryRepository;
```

### `CountryController.ts`

```typescript
import { Controller, Get, Documentation } from "@aerokit/sdk/http"
import { HttpUtils } from "@aerokit/sdk/http/utils";
import { Options } from "@aerokit/sdk/db";
import { Injected, Inject } from "@aerokit/sdk/component";
import { CountryEntity } from "./CountryEntity";
import { CountryRepository } from "./CountryRepository";

@Controller
@Documentation("Sample Country Controller")
@Injected()
class CountryController {

    @Inject('CountryRepository')
    private readonly repository!: CountryRepository;

    @Get("/")
    @Documentation("Sample Get All Countries")
    public getAll(): CountryEntity[] {
        try {
            const options: Options = {limit: 20, offset: 0};
            return this.repository.findAll(options);
        } catch (error: any) {
            HttpUtils.sendInternalServerError(error.message);
        }
        return [];
    }

}
```

## SDK 模块

| 模块 | 说明 |
| --- | --- |
| `@aerokit/sdk/bpm` | 业务流程管理和工作流程自动化API. |
| `@aerokit/sdk/cache` | 用于数据再利用和性能的内存和分布式缓存API. |
| `@aerokit/sdk/cms` | 内容管理公用设施和储存库的存取. |
| `@aerokit/sdk/component` | 依赖性注射和模块服务登记. |
| `@aerokit/sdk/core` | 环境、配置和背景等核心运行时间公用事业. |
| `@aerokit/sdk/db` | 拥有SQL和NoSQL支持的数据库访问,实体映射,以及交易. |
| `@aerokit/sdk/extensions` | 运行时间扩展和动态插件注册机制. |
| `@aerokit/sdk/git` | 存储器操作的 Git 集成( Cloone, 承诺, 推动等) . |
| `@aerokit/sdk/http` | RESTful API和网络控制器的HTTP服务器框架. |
| `@aerokit/sdk/indexing` | 索引和搜索API的全文和结构化内容. |
| `@aerokit/sdk/integrations` | 连接外部企业系统的集成适配器. |
| `@aerokit/sdk/io` | 文件,流,以及本地或远程源的存储 I/O 操作. |
| `@aerokit/sdk/job` | 带有装饰器的日程安排和背景任务执行 . |
| `@aerokit/sdk/junit` | 轻量级测试和运行时间验证设施. |
| `@aerokit/sdk/log` | 集中采伐和监测接口. |
| `@aerokit/sdk/mail` | 电子邮件组成、发送和通知服务. |
| `@aerokit/sdk/messaging` | 与队列、主题和事件 API相连接的图层 . |
| `@aerokit/sdk/net` | 网络公用事业如WebSocket,REST,和HTTP客户端业务. |
| `@aerokit/sdk/pdf` | PDF 生成和操纵工具. |
| `@aerokit/sdk/platform` | 平台生命周期管理、模块元数据和运行时间服务. |
| `@aerokit/sdk/security` | 认证、授权和用户上下文管理. |
| `@aerokit/sdk/template` | 动态文档和内容渲染的调温系统. |
| `@aerokit/sdk/utils` | 用于字符串、日期和对象操纵的通用工具. |

* * *

## 使用大小写

-   API-第一业务逻辑用于内部或客户应用.
-   企业系统之间的轻量级整合.
-   自动化脚本(计划或事件驱动).
-   自定义模块运行时间中的平台扩展.

## 哲学

`@aerokit` 遵循一个代码配置哲学——而不是XML或JSON描述符,您定义服务, ,并使用装饰器直接在 TypeScript 中工作. 这使得你的代码可以自我记录,可以测试,并跨环境可移植.

## 开始

`npm install @aerokit/sdk`

然后只导入您需要的东西 :

```javascript
import { Request, Response } from "@aerokit/sdk/http";
import { Entity, Column } from "@aerokit/sdk/db";
```

## 常见问题

### @aerokit/sdk 是什么？

现代云平台的统一类型SDK\.

### 如何安装 @aerokit/sdk？

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

### @aerokit/sdk 支持 TypeScript 吗？

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

### @aerokit/sdk 支持 ESM 还是 CommonJS？

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

### @aerokit/sdk 可以商用吗？

@aerokit/sdk 使用 EPL-2\.0 许可。声明的许可为 EPL-2\.0，请阅读许可原文确认使用条件。以上为概括，不构成法律意见，请以许可原文为准。

### @aerokit/sdk 的下载量有多少？

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

### @aerokit/sdk 还在维护吗？

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

