@fleetbase/ember-core

中文文档
0.3.26发布于 2026/10/14AGPL-3.0-or-later近 30 天下载 4724

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

中文使用文档
文档目录11 节
  1. 概览
  2. 文档
  3. 安装
  4. 使用量
  5. 注册扩展名
  6. 使用服务
  7. 包括什么
  8. 发展
  9. 测试和覆盖范围
  10. 捐款
  11. 许可证

Fleetbase

舰队基地 Ember Core

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

npm CI Coverage Downloads License

文档 • 妇女 快速启动 • 妇女 Ember 用户界面 • 妇女 捐款


概览

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

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

有部分人,住在伴侣的外甥中, @fleetbase/ember-ui (英语)。 。 。 .

文档

这些文件住在 舰队基地.io/docs/扩展-发展。 。 。 .

专题指南
建设您的第一个扩展快速启动 • 妇女 扩展解剖学
如何装入扩展名建筑 • 妇女 延期登记
宇宙及其子服务宇宙概览 • 妇女 菜单 • 妇女 书记官处 • 妇女 部件 • 妇女 钩子 • 妇女 扩展管理器
扩展另一个引擎的表格和详细视图资源视图
API 参考合同 • 妇女 琥珀服务 • 妇女 装饰者

安装

pnpm add @fleetbase/ember-core

或者,与Ember CLI: :

ember install @fleetbase/ember-core

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

使用量

注册扩展名

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

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

使用服务

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

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注册用户、他们的组织、权限和偏好
fetchFleetbase 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 请求支持一个属性

发展

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

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

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

测试和覆盖范围

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

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

捐款

见 捐款 向导。 欢迎提出问题和意见 GitHub 讨论 继续 解析器。 。 。 .

许可证

凭 GNU 阿费罗通用公共许可证 v3.0 或以后。 。 。 .

版本与发布记录

@fleetbase/ember-core 共发布 70 个版本,首次发布于 2023/05/17;过去 12 个月发布了 20 个版本。

版本发布日期距今
0.3.26latest2026/10/141 个月前
0.3.252026/10/051 个月前
0.3.242026/07/014 个月前
0.3.232026/06/194 个月前
0.3.222026/06/125 个月前
0.3.212026/06/055 个月前

关于 @fleetbase/ember-core 的常见问题

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