@bydefault/vercel

中文文档
0.1.7发布于 2026/09/23MITTypeScriptES Module零依赖近 30 天下载 2.5万

通过默认请求为 Vercel 和 Next.js 中间软件/ 代理程序捕获 SDK .

中文使用文档
文档目录7 节
  1. 安装
  2. Vercel 中间软件( 任何框架)
  3. Next.js 代理.ts(自办)
  4. 不包括路线
  5. 超时
  6. 地方发展
  7. 有效载荷

@ bydefault/ vercel( 默认/ vercel )

请求抓取 Vercel 和 Next.js proxy.ts 编号 : middleware.ts。 。 。 .

SDK只跟踪 GET 请求类似页面的路径。 飞行前型 请求,例如 HEAD, (中文(简体) ), POST,其他方法则被忽略.

默认, /api 财务报告和审定财务报表 /api/* 路线不包括在内,因此引用数反映 内容读取时不抓取 API 端点。 您可以自定义此选项 exclude。 。 。 .

安装

npm install @bydefault/vercel

Vercel 中间软件( 任何框架)

在韦尔塞尔, track 解决部署本身 waitUntil 从 请求上下文(Node.js 和 Edge 运行时间相同),因此,报告运行 在没有上下文参数的响应后接受:

import { Tracker } from '@bydefault/vercel'

const tracker = new Tracker({
  token: process.env.BYDEFAULT_INGEST_TOKEN,
})

export default function middleware(request: Request) {
  tracker.track(request)
}

工作作为 middleware.ts 任何框架的基础 Vercel,和作为下一位.js middleware.ts 编号 : proxy.ts (名称为导出) proxy 下册.

Next.js 代理.ts(自办)

在Vercel外没有请求上下文,所以手 track 框架的 使报告远离响应路径的事件 :

import { Tracker } from '@bydefault/vercel'
import { NextResponse, type NextFetchEvent, type NextRequest } from 'next/server'

const tracker = new Tracker({
  token: process.env.BYDEFAULT_INGEST_TOKEN,
})

export function proxy(request: NextRequest, event: NextFetchEvent) {
  tracker.track(request, event)
  return NextResponse.next()
}

不包括路线

const tracker = new Tracker({
  token: process.env.BYDEFAULT_INGEST_TOKEN,
  exclude: ['/api', '/admin', /^\/internal\//],
})

字符串排除了精确的路径名和后人,所以 '/api' 不包括 两者 /api 财务报告和审定财务报表 /api/ping。通过 exclude: [] 以禁用默认 /api 除外.

超时

每份报告默认为5秒。 报告紧接着 通过 waitUntil (或下一个) after())),保留了援引 活着,直到它解决, 所以一个束缚 是保持一个停滞的连接 持有一个函数打开直到平台杀死它. 报告错过了 捆绑掉下 表面穿过 onError;网站从未受到影响.

const tracker = new Tracker({
  token: process.env.BYDEFAULT_INGEST_TOKEN,
  timeoutMs: 2_000, // 0 disables the bound
})

地方发展

点 endpoint 在默认应用中:

const tracker = new Tracker({
  token: process.env.BYDEFAULT_INGEST_TOKEN,
  endpoint: 'http://localhost:3000',
})

有效载荷

SDK发送一个简单的请求信封:

type RequestPayload = {
  timestamp?: string
  method: string
  url: string
  ip?: string
  geo?: {
    country?: string
  }
  referer?: string
  userAgent?: string
  accept?: string
  acceptLanguage?: string
  requestId?: string
}

它不读请求正文,也不发送完整的请求头 设置。 SDK只发送字段 默认需要请求归属, 国家显示, 和 AI 提供者检测 。 没有精确的地点(区域, 城市,坐标)被传输;访问者IP被使用服务器侧到 对照操作员公布的 IP 验证声称的爬行者身份 区域并永远不存储.

如果没有配置任何符号,则禁用单个控制台跟踪 警告 警告他们 SDK从不从中间软件路径扔出,所以一个缺失或 错误配置的符号永远不会影响您的网站 .

版本与发布记录

@bydefault/vercel 共发布 7 个版本,首次发布于 2026/06/15;过去 12 个月发布了 7 个版本。

版本发布日期距今
0.1.7latest2026/09/231 个月前
0.1.62026/08/102 个月前
0.1.42026/06/164 个月前
0.1.32026/06/164 个月前
0.1.22026/06/164 个月前
0.1.12026/06/164 个月前

关于 @bydefault/vercel 的常见问题

@bydefault/vercel 是什么?

通过默认请求为 Vercel 和 Next.js 中间软件/ 代理程序捕获 SDK .

如何安装 @bydefault/vercel?

在项目目录运行 npm install @bydefault/vercel,或使用 pnpm add / yarn add / bun add。

@bydefault/vercel 支持 TypeScript 吗?

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

@bydefault/vercel 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@bydefault/vercel 可以商用吗?

@bydefault/vercel 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@bydefault/vercel 的下载量有多少?

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

@bydefault/vercel 还在维护吗?

最新版本 0.1.7 发布于 2026/09/23(1 个月前);至今共发布 7 个版本,其中过去 12 个月发布了 7 个;首次发布于 2026/06/15。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。