@flare-engine/活动
类型安全事件原始人—— EventEmitter<EventMap> 用于关键事件和 Signal<T> 用于单价广播。 两种支持 once(),在 emit()零分数c Unsubscribe 返回.
安装
bun add @flare-engine/events
使用量
import { EventEmitter, Signal } from '@flare-engine/events';
type GameEvents = { 'enemy-killed': (e: { id: number; score: number }) => void };
const bus = new EventEmitter<GameEvents>();
const off = bus.on('enemy-killed', (e) => console.log(e.score));
const onHit = new Signal<number>();
onHit.add((dmg) => console.log(dmg));
onHit.emit(10);
Emit 语义
emit() 高调处理器集 现场直播 (没有每emit快照——这是一条热路):
- 处理器 已添加 在发射中运行时 不变 释出.
- 处理器 删除 当喷出物仍在喷出时(和任何被放入的放出物),除去物在最外向喷出物完成后生效。 例外:a
once() 最多放一次火 即使是在窝内放出.
emit() 实值 重新进入 (处理者可拨打 emit() 和(续) 弹出安全: 投球手向呼叫者宣传,但绝不是楔形去除.
见 API 规格。 。 。 .
许可证
阿帕奇 - 2.0
关于 @flare-engine/events 的常见问题
@flare-engine/events 是什么?
类型安全事件
如何安装 @flare-engine/events?
在项目目录运行 npm install @flare-engine/events,或使用 pnpm add / yarn add / bun add。
@flare-engine/events 支持 TypeScript 吗?
支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。
@flare-engine/events 支持 ESM 还是 CommonJS?
同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。
@flare-engine/events 需要什么版本的 Node.js?
package.json 的 engines 字段要求 Node.js >=20。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。
@flare-engine/events 可以商用吗?
@flare-engine/events 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。
@flare-engine/events 的下载量有多少?
根据 npm 官方下载统计,@flare-engine/events 在 2026/10/15 – 2026/11/13 这 30 天内被下载 5,468 次,日均约 182 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。
@flare-engine/events 还在维护吗?
最新版本 0.4.12 发布于 2026/11/13(3 天前);至今共发布 17 个版本,其中过去 12 个月发布了 17 个;首次发布于 2026/06/10。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。