# @fleetbase/ember-core 中文文档

规范地址：https://npmcn.com/package/%40fleetbase/ember-core/

版本：0\.3\.26
npm 元数据更新时间：2026-10-14T04:57:10.692Z
中文译文更新时间：2026-11-14T22:15:45.491Z
软件包许可：AGPL-3\.0-or-later

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

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

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

- 包体积（解压后）：605 kB，340 个文件
- TypeScript 类型：未声明
- Node.js 要求：\>= 18
- 运行依赖：21 个
- 首次发布：2023-05-17T09:12:13.218Z
- 最新版本发布：2026-10-14T04:57:10.522Z
- 近 30 天下载量：4724（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：70（近 12 个月 20 个）

## 中文简介

提供所有核心服务、装饰和公用事业,为Console建造车队基地扩建.

## 安装

```sh
npm install @fleetbase/ember-core
```

也可以使用：`pnpm add @fleetbase/ember-core`、`yarn add @fleetbase/ember-core`、`bun add @fleetbase/ember-core`

## README

![Fleetbase](https://raw.githubusercontent.com/fleetbase/ember-ui/main/docs/brand/fleetbase-icon.png)

# 舰队基地 Ember Core

车队基地控制台背后的服务、合同、装饰和公用事业 舰队基地的扩建工程已经建成.

[![npm](https://img.shields.io/npm/v/@fleetbase/ember-core.svg?color=1c6cc7)](https://www.npmjs.com/package/@fleetbase/ember-core) [![CI](https://github.com/fleetbase/ember-core/actions/workflows/ci.yml/badge.svg)](https://github.com/fleetbase/ember-core/actions/workflows/ci.yml) [![Coverage](https://codecov.io/gh/fleetbase/ember-core/graph/badge.svg?flag=ember-core)](https://codecov.io/gh/fleetbase/ember-core) [![Downloads](https://img.shields.io/npm/dm/@fleetbase/ember-core.svg?color=1c6cc7)](https://www.npmjs.com/package/@fleetbase/ember-core) [![License](https://img.shields.io/badge/license-AGPL--3.0--or--later-blue.svg)](https://npmcn.com/package/%40fleetbase/ember-core/LICENSE.md)

[**文档**](https://fleetbase.io/docs/extension-development) • 妇女 [快速启动](https://fleetbase.io/docs/extension-development/getting-started/quickstart) • 妇女 [Ember 用户界面](https://github.com/fleetbase/ember-ui) • 妇女 [捐款](https://npmcn.com/package/%40fleetbase/ember-core/CONTRIBUTING.md)

* * *

## 概览

`@fleetbase/ember-core` 是舰队基地控制台和舰队基地扩展的安伯号 共享 。 它规定:

-   **宇宙间** 扩展层,用于插入控制台:菜单, 登记册、仪表板部件、生命周期钩、引擎加载和资源视图.
-   **合同** ——描述扩展贡献的小,可连锁分类 (单位:千美元)`MenuItem`, (中文(简体) ), `Widget`, (中文(简体) ), `Hook`, (中文(简体) ), `TableColumn`, (中文(简体) ), `ResourceAction` (见a/cn.9/wg.iii/wp.iii/wp.48,第2段).
-   **应用程序服务** ——认证,API客户端,当前用户,CRUD工作流程, 过滤器,通知,套接字,主题等等.
-   **装饰和公用事业** ——存储和API后置属性,引擎服务注入,以及 帮助控制台全程依赖.

有部分人,住在伴侣的外甥中, **[@fleetbase/ember-ui (英语)](https://github.com/fleetbase/ember-ui)**。 。 。 .

## 文档

这些文件住在 **[舰队基地.io/docs/扩展-发展](https://fleetbase.io/docs/extension-development)**。 。 。 .

| 专题 | 指南 |
| --- | --- |
| 建设您的第一个扩展 | [快速启动](https://fleetbase.io/docs/extension-development/getting-started/quickstart) • 妇女 [扩展解剖学](https://fleetbase.io/docs/extension-development/getting-started/extension-anatomy) |
| 如何装入扩展名 | [建筑](https://fleetbase.io/docs/extension-development/architecture/overview) • 妇女 [延期登记](https://fleetbase.io/docs/extension-development/architecture/extension-registration) |
| 宇宙及其子服务 | [宇宙概览](https://fleetbase.io/docs/extension-development/universe/overview) • 妇女 [菜单](https://fleetbase.io/docs/extension-development/universe/menu-service) • 妇女 [书记官处](https://fleetbase.io/docs/extension-development/universe/registry-service) • 妇女 [部件](https://fleetbase.io/docs/extension-development/universe/widget-service) • 妇女 [钩子](https://fleetbase.io/docs/extension-development/universe/hook-service) • 妇女 [扩展管理器](https://fleetbase.io/docs/extension-development/universe/extension-manager) |
| 扩展另一个引擎的表格和详细视图 | [资源视图](https://fleetbase.io/docs/extension-development/resource-views) |
| API 参考 | [合同](https://fleetbase.io/docs/extension-development/reference/contracts) • 妇女 [琥珀服务](https://fleetbase.io/docs/extension-development/reference/ember-services) • 妇女 [装饰者](https://fleetbase.io/docs/extension-development/reference/decorators) |

## 安装

```bash
pnpm add @fleetbase/ember-core
```

或者,与Ember CLI: :

```bash
ember install @fleetbase/ember-core
```

需要节点 18 或更新。 附加物由Ember 5.4建造并测试.

## 使用量

### 注册扩展名

扩展帮助控制台从 `setupExtension` 钩上它 `addon/extension.js`。 。 。 . 这个 `universe` 它得到的是其他一切的切入点:

```js
// addon/extension.js
import { ResourceAction, TableColumn } from '@fleetbase/ember-core/contracts';

export default {
    setupExtension(app, universe) {
        // Add an item to the console header
        universe.getService('menu').registerHeaderMenuItem('Acme', 'console.acme', {
            icon: 'rocket',
            priority: 5,
        });

        // Add a column and a row action to Fleet-Ops' drivers table
        const views = universe.getService('resource-view');

        views.register(
            'fleet-ops:driver:table:columns',
            new TableColumn({ id: 'safety-score', label: 'Safety Score', valuePath: 'meta.safety_score' }).after('status')
        );

        views.register(
            'fleet-ops:driver:table:row-actions',
            new ResourceAction({ id: 'acme-sync', label: 'Sync to Acme', icon: 'sync', permission: 'acme sync driver' })
                .withHandler((driver, ctx) => ctx.owner.lookup('service:acme').sync(driver))
        );
    },
};
```

### 使用服务

每个服务都以通常的方式注入:

```js
import Controller from '@ember/controller';
import { inject as service } from '@ember/service';
import { action } from '@ember/object';

export default class OrdersController extends Controller {
    @service fetch;
    @service currentUser;
    @service notifications;

    @action async dispatch(order) {
        await this.fetch.post(`orders/${order.id}/dispatch`);
        this.notifications.success(`Dispatched by ${this.currentUser.name}`);
    }
}
```

## 包括什么

**宇宙** ——可扩展层

`universe` 是6个子服务的外观,每个子服务与 `universe.getService(name)`数字 :

| 名称 | 负责 |
| --- | --- |
| `menu` | 页眉项目、管理员和设置菜单、账户下放和自定义菜单注册 |
| `registry` | 已命名的登记册,并登记各引擎的部件、服务和助手 |
| `widget` | 盘子部件和仪表板 |
| `hook` | 应用生命周期和自定义钩 |
| `resource-view` | 其他引擎表格上的列、动作和菜单项及详细视图 |
| `extension-manager` | 装入引擎并共享服务 |

**合同** 进口自 `@fleetbase/ember-core/contracts`

| 合同 | 说明 |
| --- | --- |
| `MenuItem`, (中文(简体) ), `MenuPanel` | 菜单条目和将其分组的管理员面板 |
| `ExtensionComponent` | 住在引擎内、按需装入的组件 |
| `Widget` | 一个仪表板部件 |
| `Hook` | 一个生命周期或自定义钩柄处理器 |
| `Registry` | 名称登记 |
| `TableColumn` | 添加到资源表的一列 |
| `ResourceAction` | 一行、批量或细节菜单动作 |
| `ActionButton` | 工具栏或细节标题按钮 |

**服务**

| 服务 | 负责 |
| --- | --- |
| `session` | 认证和会话周期 |
| `current-user` | 注册用户、他们的组织、权限和偏好 |
| `fetch` | Fleetbase API客户端:请求、上传、下载和缓存 |
| `crud` | 删除、批量操作、进出口工作流程 |
| `resource-action` | 模式具体行动服务的基础 |
| `filters` | 资源表格查询-参数过滤器 |
| `table-context` | 活动表格的选择状态 |
| `abilities` | 权限检查 |
| `notifications` | 托拉斯通知 |
| `socket` | 用会话套接字符认证的实时频道 |
| `chat` | 聊天频道和信息 |
| `events` | 应用程序事件跟踪 |
| `theme` | 浅而暗的主题和路线体类 |
| `language` | 区域选择 |
| `loader` | 正在装入覆盖 |
| `app-cache` | 持续的客户端缓存 |
| `url-search-params` | 读取和写入 URL 的查询字符串 |
| `custom-fields-registry` | 自定义附于任何模型的字段 |

**装饰者**

| 装饰 | 对 |
| --- | --- |
| `@engineService` | 从另一个引擎注入服务 |
| `@fromStore` | 用商店查询备份属性 |
| `@fetchFrom` | 用 API 请求支持一个属性 |

## 发展

```bash
pnpm install --frozen-lockfile

pnpm start                # serve the dummy app
pnpm test                 # lint + the full suite
pnpm run test:ember       # the suite on its own
pnpm run lint             # eslint, ember-template-lint, stylelint
pnpm run build            # production build
```

在一个区域工作时运行子集 :

```bash
pnpm exec ember test --filter="Unit | Service | fetch"
```

## 测试和覆盖范围

套房以无头Chrome通过Testem运行. 覆盖范围设于 **100%(百分比) `addon/` 来源** - 陈述、分支、功能和行,每个文件检查,并在CI中执行 报告结果 [代码](https://codecov.io/gh/fleetbase/ember-core)。 。 。 .

```bash
pnpm run coverage            # run the suite with coverage
pnpm run coverage:check      # enforce the gate
```

## 捐款

见 [捐款](https://npmcn.com/package/%40fleetbase/ember-core/CONTRIBUTING.md) 向导。 欢迎提出问题和意见 [GitHub 讨论](https://github.com/fleetbase/fleetbase/discussions) 继续 [解析器](https://discord.gg/HnTqQ6zAVn)。 。 。 .

## 许可证

凭 [GNU 阿费罗通用公共许可证 v3.0 或以后](https://npmcn.com/package/%40fleetbase/ember-core/LICENSE.md)。 。 。 .

## 常见问题

### @fleetbase/ember-core 是什么？

提供所有核心服务、装饰和公用事业,为Console建造车队基地扩建\.

### 如何安装 @fleetbase/ember-core？

在项目目录运行 npm install @fleetbase/ember-core，或使用 pnpm add / yarn add / bun add。

### @fleetbase/ember-core 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/fleetbase\_\_ember-core 是否存在。

### @fleetbase/ember-core 需要什么版本的 Node\.js？

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

### @fleetbase/ember-core 可以商用吗？

@fleetbase/ember-core 使用 AGPL-3\.0-or-later 许可。最严格的 Copyleft：除分发外，通过网络向用户提供基于它的服务也需要开源对应源码。闭源 SaaS 使用前务必评估。以上为概括，不构成法律意见，请以许可原文为准。

### @fleetbase/ember-core 的下载量有多少？

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

### @fleetbase/ember-core 还在维护吗？

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

