这个项目能做什么
The @vskstudio/takt-angular 包提供了对 Takt 分析平台的原生 Angular 集成,侧重于隐私优先的数据收集。它面向 Angular 17 及以上版本,可通过单条包管理器命令加入项目。
Installation
运行:pnpm add @vskstudio/takt-angular @vskstudio/takt-core
Bootstrap Integration
在根 bootstrap 调用中,使用 provideTakt 注册提供者。该提供者仅在浏览器环境下初始化核心分析库,发送首次 pageview,激活可选的自动捕获功能(外链点击、文件下载、SPA 导航等),并在 Angular 应用销毁时进行清理。服务器端该提供者保持惰性,使库对服务器端渲染安全。
Injectable Service
TaktService 可以在应用的任何位置注入。它公开了 track(eventName, options)、pageview()、optOut()、optIn() 等方法。所有方法在库未初始化或运行于服务器时均为 no‑op,确保不会抛异常。
Declarative Click Tracking
TaktEventDirective 允许开发者通过 taktEvent 属性将追踪绑定到任意可点击元素,可选的 taktProps 与 taktRevenue 输入也可使用。指令在点击时解析实时的分析实例,保持模板代码整洁。
UI Widgets
提供两个独立组件:
- TaktBadgeComponent 为指定域名渲染服务器生成的 SVG 徽章。
- TaktEmbedComponent 渲染一个沙箱 iframe,展示公开的分析仪表盘。
这两个组件均可在任意 Angular 模板中使用,支持 domain、theme、size、language、variant 等输入属性。
Public Stats API
createStats 辅助函数创建一个面向公开 Takt API 的客户端,提供 async 方法 summary、timeseries、realtime、breakdown,方便开发者以编程方式获取聚合分析数据。
Framework‑Agnostic Custom Element
针对非 Angular 页面,导出一个自包含的自定义元素 takt-analytics。调用 defineTaktElement(或直接导入会自动注册的模块)后,可在普通 HTML 中放置该元素,它会自动遵守隐私设置,如外链追踪和文件下载追踪。亦提供 CDN 包,可快速引入,无需构建步骤。
Configuration Options
TaktConfig 支持丰富的配置选项,包括 domain、endpoint、outbound link tracking、file download tracking、SPA navigation、Do Not Track 尊重、localhost 排除、sample rate、query string 处理、path exclusions、URL scrubbing、tagged element tracking 等。默认值对大多数站点已足够合理,配置可通过 provideTakt 在 bootstrap 时传入。
License
该库采用 MIT 许可证发布。
评论
0 评分人数达到10人后显示
登录后参与讨论。