@cxkit/version-core
Advanced tools
+58
| # @cxkit/version-core | ||
| 核心的纯净运行时逻辑库,零前端框架依赖,由 TypeScript 保证类型安全。 | ||
| 它是整个 `@cxkit` 版本检测体系的心脏,负责接管轮询(Poller)、提取(Fetcher)和状态机(State Machine)流转。所有的 React、Vue 或 Vanilla 适配器其实都是基于对 `Checker` 事件总线的包装。 | ||
| ## 特色 | ||
| - 🚀 **极小巧**:不包含任何 UI 或是繁杂的依赖。 | ||
| - 🔧 **零耦合**:能够在 Node.js 或任何未知的框架中运行,只要宿主环境支持基础的 `fetch` 和事件。 | ||
| - ⚡ **无感热更**:支持静默拦截 `version.json` 请求,解析 `buildId` 与 `buildTime`。 | ||
| ## 安装 | ||
| ```bash | ||
| npm install @cxkit/version-core | ||
| ``` | ||
| ## API 概览 | ||
| ### `createVersionChecker(options: CheckerOptions)` | ||
| 初始化一个版本检查器实例,它是全部单向数据流的源头。 | ||
| ```ts | ||
| import { createVersionChecker } from '@cxkit/version-core' | ||
| const checker = createVersionChecker({ | ||
| pollInterval: 1000 * 60 * 5, // 轮询检查的时间间隔 | ||
| remindDelay: 1000 * 60 * 60, // 稍后提醒的延迟时间 | ||
| devMock: false, // 是否开启开发环境 Mock 模式 | ||
| refreshStrategy: 'auto', // 触发更新后刷新页面的策略 | ||
| baseUrl: '/', // version.json 的请求基地址 | ||
| versionUrl: (env) => '...' // 高级:自定义推导版号路径 | ||
| }); | ||
| // 订阅事件:每当状态变更时触发 | ||
| checker.on('state-change', (state) => { | ||
| console.log(state.hasPendingUpdate); | ||
| }); | ||
| // 明确检测到了全新的版本发版 | ||
| checker.on('update-detected', (manifest) => { | ||
| console.log("新版本来了!", manifest); | ||
| }); | ||
| // 开启轮询 | ||
| checker.start(); | ||
| ``` | ||
| ### 实例控制流方法 | ||
| - `checker.check()`: 挂载立刻执行一次强制检查。 | ||
| - `checker.confirm()`: 接受更新版本通知。通常这会执行你预设或默认的刷新策略并改写本地缓存存储记录。 | ||
| - `checker.defer(delay?)`: 稍后提醒。在静默期内,`hasPendingUpdate` 将保持为假。 | ||
| - `checker.destroy()`: 销毁事件总线及所有计时器轮询,回收内存(通常用于组件销毁生命周期)。 | ||
| ## 阅读完整文档 | ||
| 完整的 API 定义、高级用法与系统架构解析,请访问 [官方开发文档](https://github.com/chenx18_cn/cxkit)。 |
+1
-1
| { | ||
| "name": "@cxkit/version-core", | ||
| "version": "0.0.1", | ||
| "version": "0.0.2", | ||
| "description": "Framework-agnostic runtime core for frontend version update detection and notification.", | ||
@@ -5,0 +5,0 @@ "type": "module", |
No README
QualityPackage does not have a README. This may indicate a failed publish or a low quality package.
Found 1 instance in 1 package
99450
2.43%8
14.29%0
-100%59
Infinity%