@equinor/fusion-framework-module-event

中文文档
6.1.4发布于 2026/11/12ISCTypeScriptES Module近 30 天下载 1.2万

事件合并模块

中文使用文档
文档目录8 节
  1. 谁应该用这个
  2. 文档
  3. 快开始
  4. 安装
  5. 听一个事件
  6. 发送活动
  7. API 概览
  8. 子路径

@ equinor/ 组合框架- 模块- 事件

Async事件为Fusion框架发送模块. 通过以本地 DOM 为模式的事件系统,实现框架模块(兄弟姐妹)之间以及父母/子女之间的类型安全通信 EventTarget不过 同步发送 因此可以正确等待可取消的事件.

重要内容: 发送时a cancelable 事件 必须 await 页:1 dispatchEvent 电话 发射而无 await 表示 preventDefault() 听众的电话不会被尊重.

谁应该用这个

  • 模块作者 其他模块可以作出反应.
  • 应用程序开发者 想要截取、记录或取消流经框架的事件.
  • 图书馆消费者 用于分析、调试或交叉关切.

文档

专题说明
配置onDispatch编号 :onBubble 通过钩子和注册自定义事件类型 FrameworkEventMap
可观察模式event$, (中文(简体) ), filterEvent,则 ./operators 子路径
生命周期调度顺序、可取消的事件和起伏
测试waitForEvent, (中文(简体) ), watchEvents,并使用铃声 ModulesConfigurator 测试中

快开始

安装

pnpm add @equinor/fusion-framework-module-event

事件模块在初始化Fusion框架时默认包含在内,因此只有在独立使用时才需要明确安装.

听一个事件

const teardown = modules.event.addEventListener('onModulesLoaded', (event) => {
  console.log('All modules loaded:', event.detail);
});

// remove the listener when no longer needed
teardown();

发送活动

const event = await modules.event.dispatchEvent('myEvent', {
  detail: { id: 42 },
  cancelable: true,
});

if (!event.canceled) {
  performAction();
}

API 概览

导出仁爱目的
FrameworkEvent类基本活动 detail, (中文(简体) ), source,取消/泡泡旗帜
FrameworkEventInit类型构建事件时通过的选项
FrameworkEventMap接口广泛的登记册绘图事件名称 事件类型
FrameworkEventHandler类型听取者召回签名( 同步或同步)
IEventModuleProvider接口事件提供者的公共 API (P)addEventListener, (中文(简体) ), dispatchEvent, (中文(简体) ), event$(中文(简体) )
EventModuleProvider类默认提供者执行
EventModuleConfig类型已解析的配置钩( R)onDispatch, (中文(简体) ), onBubble(中文(简体) )
EventModuleConfigurator类流利的配置构建器( S)setOnDispatch, (中文(简体) ), setOnBubble()——见 配置
IEventModuleConfigurator类型折旧 别名用于 EventModuleConfig
filterEvent函数RxJS 运算符缩小 event$ 改为单个已注册事件类型
EventModule 编号 : eventModuleKey类型/ 连接模块定义和密钥'event'(中文(简体) )

子路径

子路径出口目的
./operatorsfilterEventRxJS 可管道运算符结束 event$ (也从包根再出)
./utilswaitForEvent, (中文(简体) ), watchEvents在应用程序代码或测试中等待/收集已发送事件的普通助手

版本与发布记录

@equinor/fusion-framework-module-event 共发布 102 个版本,首次发布于 2022/08/18;过去 12 个月发布了 17 个版本。

版本发布日期距今
6.1.4latest2026/11/121 天前
6.1.4-next.1next2026/11/112 天前
6.1.4-next.02026/10/2816 天前
6.1.32026/10/1727 天前
6.1.3-trusted-publishing-20261015-9dfe7602cd2a49a8a9df00d62c26e7304a82a85atrusted-publishing-202610152026/10/1629 天前
6.1.22026/10/121 个月前

其他发布通道:apploader → 4.3.7-apploader-be21a6b60eb13eee8bf869e75002d8634e9c50a9,cli-search-index → 4.4.1-cli-search-index.0,msal-v5 → 4.4.1-msal-v5.0,trusted-publishing-20261015 → 6.1.3-trusted-publishing-20261015-9dfe7602cd2a49a8a9df00d62c26e7304a82a85a,next → 6.1.4-next.1。

关于 @equinor/fusion-framework-module-event 的常见问题

@equinor/fusion-framework-module-event 是什么?

事件合并模块

如何安装 @equinor/fusion-framework-module-event?

在项目目录运行 npm install @equinor/fusion-framework-module-event,或使用 pnpm add / yarn add / bun add。

@equinor/fusion-framework-module-event 支持 TypeScript 吗?

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

@equinor/fusion-framework-module-event 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@equinor/fusion-framework-module-event 可以商用吗?

@equinor/fusion-framework-module-event 使用 ISC 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@equinor/fusion-framework-module-event 的下载量有多少?

根据 npm 官方下载统计,@equinor/fusion-framework-module-event 在 2026/10/14 – 2026/11/12 这 30 天内被下载 12,224 次,日均约 407 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@equinor/fusion-framework-module-event 还在维护吗?

最新版本 6.1.4 发布于 2026/11/12(1 天前);至今共发布 102 个版本,其中过去 12 个月发布了 17 个;首次发布于 2022/08/18。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。