一个基于 Vue 3 的 Web 性能监控工具,用于收集和分析网页性能指标。
- 🚀 自动收集核心性能指标 (FCP, LCP, FID, CLS, TTFB)
- 📊 资源加载性能监控
- 🔄 批量数据上报
- 🎯 Vue 3 集成支持
- 📈 实时性能数据分析
- 🛠 可扩展的指标收集系统
pnpm add web-performance-monitor
import { createApp } from 'vue'
import { VuePerformanceMonitor } from 'web-performance-monitor'
import App from './App.vue'
const app = createApp(App)
const monitorOptions = {
url: 'https://your-analytics-server.com/collect',
batch: true,
batchSize: 10,
config: {
url: 'https://your-analytics-server.com/collect',
method: 'POST',
headers: {
'Content-Type': 'application/json'
}
},
batchConfig: {
maxSize: 10,
maxWait: 5000,
flushOnUnload: true,
enabled: true
}
}
app.use(VuePerformanceMonitor, monitorOptions)
app.mount('#app')
interface ReportOptions {
url: string; // 数据上报地址
batch: boolean; // 是否启用批量上报
batchSize?: number; // 批量上报的数量阈值
}
- FCP (First Contentful Paint): 首次内容绘制时间
- LCP (Largest Contentful Paint): 最大内容绘制时间
- FID (First Input Delay): 首次输入延迟
- CLS (Cumulative Layout Shift): 累积布局偏移
- TTFB (Time to First Byte): 首字节时间
# 克隆仓库
git clone https://github.com/your-username/web-performance-monitor.git
cd web-performance-monitor
# 安装依赖
pnpm install
# 启动开发服务器
pnpm dev
# 运行测试
pnpm test
# 运行测试覆盖率报告
pnpm test:coverage
# 代码检查
pnpm lint
# 代码格式化
pnpm format
# 构建项目
pnpm build
web-performance-monitor/ ├── src/ # 源代码 │ ├── core/ # 核心功能模块 │ ├── vue/ # Vue 集成模块 │ └── types/ # 类型定义 ├── examples/ # 示例代码 ├── tests/ # 测试文件 ├── scripts/ # 脚本文件 └── dist/ # 构建输出
# 运行发布脚本
./scripts/publish.sh
我们非常欢迎社区贡献!以下是参与项目的主要方式:
- 使用问题模板提交 bug 报告
- 提出新功能建议
- 讨论代码实现方案
- Fork 本仓库
- 创建你的特性分支 (
git checkout -b feature/AmazingFeature
) - 提交你的修改 (
git commit -m 'feat: Add some AmazingFeature'
) - 推送到你的分支 (
git push origin feature/AmazingFeature
) - 提交 Pull Request
- 遵循 TypeScript 规范
- 使用 ESLint 进行代码检查
- 使用 Prettier 进行代码格式化
- 遵循 约定式提交 规范
- 安装依赖:
pnpm install
- 启动开发服务器:
pnpm dev
- 运行测试:
pnpm test
- 构建项目:
pnpm build
详细信息请查看 CONTRIBUTING.md。
所有版本更新说明请查看 CHANGELOG.md。
- 支持核心 Web Vitals 指标收集
- Vue 3 插件集成
- 批量数据上报
- 自定义性能指标扩展
- 优化性能数据收集精确度
- 修复内存泄漏问题
- 改进错误处理机制
- React 支持
- 实时数据分析面板
- 自定义指标仪表板
- 多环境配置支持
如果这个项目对你有帮助,欢迎赞助支持我们的开发工作!
赞助商名称 |
本库支持以下浏览器和 API:
- Chrome 60+
- Firefox 58+
- Safari 12.1+
- Edge 79+
- Performance Observer API
- 主要浏览器均支持
- Safari 有部分限制
- Navigation Timing API
- 所有主要浏览器支持
- Resource Timing API
- 所有主要浏览器支持
- User Timing API
- 所有主要浏览器支持
- High Resolution Time API
- 所有主要浏览器支持
- Performance Timeline API
- 所有主要浏览器支持
对于不支持某些 API 的浏览器,会自动降级使用替代方案。