@aics/frontend-insights

中文文档
0.2.3发布于 2021/02/04SEE LICENSE IN LICENSE.txtTypeScriptESM + CJS零依赖近 30 天下载 4154

轻抽象 API 在第三党监测工具上方.

中文使用文档

@aics/frontend-insights

在第三方监测/测量/分析工具之上的轻型抽象API.

插件

这个库是有用的,因为第三党的服务被插入其中;没有插件,它实际上是一个noop API. 为默认导出此软件包的插件, 即 FrontendInsights class,它充当其已配置插件的信息发送器.

此库定义了必须执行的接口,以使每个第三方服务能够用作插件 FrontendInsights。 。 。 . 界面有意尽可能泛化。 该接口是:

interface FrontendInsightsPlugin {
    process(message: FrontendInsightsMessage, context: FrontendInsightsContext): void;
}

外部服务应该在插件构造器中初始化(例如给定API密钥). 之后,由插件决定是处理一些、全部还是没有由该插件发送的信件 FrontendInsights 课. 例如,一个插件完全通过对浏览器的按键程序工作 window.onerror 事件(正如一些基于浏览器的例外监测服务所做的那样), 可能选择不处理任何信件. 另一方面,分析服务可能选择处理 FrontendInsightsMessageType.UserEvent 财务报告和审定财务报表 FrontendInsightsMessageType.UserTiming 留言.

可以根据需要添加额外的插件和信件类型,而无需考虑库的现有用法. 如果有新信件类型( N)FrontendInsightsMessageType加上, 建议在《公约》中增加一种具体的公开方法 FrontendInsights 发送类似 FrontendInsights::dispatchUserEvent。 。 。 .

使用量

import FrontendInsights, { FrontendInsightsContext } from "@aics/frontend-insights";
import AmplitudeNodePlugin from "@aics/frontend-insights-plugin-amplitude-node";

const context: FrontendInsightsContext = {
    application: {
        name: APP_ID,
        version: "4.2.2",
    },
    userInfo: {
        userId: "[email protected]",
    },
    session: {
        platform: "Electron"
    }
};
const frontendInsights = new FrontendInsights(context, [
    new AmplitudeNodePlugin({ apiKey: "abc123" }),
    new WhateverPlugin({ ... }),  // e.g., could be others...
]);

frontendInsights.dispatchUserEvent({
    type: "ANY_STRING",
    properties: {
        foo: true,
        bar: "no",
        baz: 123,
    },
});

版本与发布记录

@aics/frontend-insights 共发布 9 个版本,首次发布于 2021/01/30;过去 12 个月发布了 0 个版本。

版本发布日期距今
0.2.3latest2021/02/045 年前
0.2.22021/02/045 年前
0.2.02021/02/045 年前
0.1.02021/02/035 年前
0.1.0-alpha.12021/02/025 年前
0.1.0-alpha.02021/02/025 年前

关于 @aics/frontend-insights 的常见问题

@aics/frontend-insights 是什么?

轻抽象 API 在第三党监测工具上方.

如何安装 @aics/frontend-insights?

在项目目录运行 npm install @aics/frontend-insights,或使用 pnpm add / yarn add / bun add。

@aics/frontend-insights 支持 TypeScript 吗?

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

@aics/frontend-insights 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@aics/frontend-insights 可以商用吗?

@aics/frontend-insights 使用 SEE LICENSE IN LICENSE.txt 许可。许可条款写在包内的独立文件中,请阅读该文件确认可否商用。以上为概括,不构成法律意见,请以许可原文为准。

@aics/frontend-insights 的下载量有多少?

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

@aics/frontend-insights 还在维护吗?

最新版本 0.2.3 发布于 2021/02/04(5 年前);至今共发布 9 个版本,其中过去 12 个月发布了 0 个;首次发布于 2021/01/30。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。