跳至内容

遥测

Next.js 收集有关一般用法的完全匿名遥测数据。参与此匿名计划是可选的,如果您不想分享任何信息,可以随时选择退出。

为什么要收集遥测数据?

自发布以来,Next.js 已发展壮大,成为开发人员事实上的 React 框架。在收集遥测数据之前,关于如何改进 Next.js 的决策是一个非常手动流程。

例如,Vercel 内部使用许多大型 React 应用程序(包括 Next.js 网站)。此外,我们积极与社区互动以收集反馈。

但是,这种方法只能让我们收集一部分用户的反馈。这部分用户可能与您有不同的需求和用例。遥测使我们能够准确地衡量所有用户的 Next.js 功能使用情况、痛点和自定义情况。

这些数据将使我们能够更好地为大众定制 Next.js,确保其持续增长、相关性和一流的开发人员体验。此外,这将使我们能够验证对框架所做的改进是否提高了所有应用程序的基线。

收集哪些数据?

我们跟踪一般使用信息,例如 Next.js 插件和构建性能。具体来说,我们匿名跟踪以下内容

  • 调用的命令(next buildnext devnext export
  • Next.js 的版本
  • 常规机器信息(例如 CPU 数量、macOS/Windows/Linux、命令是否在 CI 中运行)
  • 项目中有哪些 Next.js 插件
  • next build 的持续时间和应用程序的大小(页面总数)

注意:此列表会定期审核以确保其准确性。

您可以通过设置以下环境变量来查看正在收集的确切内容:NEXT_TELEMETRY_DEBUG=1

设置此环境变量后,不会将数据发送给我们。数据只会打印到 stderr,并在前面加上 [telemetry]

一个遥测事件示例如下所示

{
  "eventName": "NEXT_VERSION",
  "payload": {
    "version": "9.0.5-canary.2",
    "isDevelopment": false
  }
}

敏感数据(例如机密)怎么样?

我们不会收集任何可能包含敏感数据的指标。

这包括但不限于:环境变量、文件路径、文件内容、日志或序列化 JavaScript 错误。

我们非常重视隐私和安全。Next.js 遥测属于 安全披露政策

这些数据会被共享吗?

我们收集的数据是完全匿名的,无法追溯到来源,只有汇总形式才有意义。

我们收集的任何数据都不是个人可识别信息。

如何选择退出?

您可以通过在项目根目录中运行 next telemetry disable 来选择退出。

npx next telemetry disable
yarn next telemetry disable
pnpm exec next telemetry disable
bun next telemetry disable

您可以随时通过在项目根目录中运行 next telemetry status 来检查遥测数据收集的状态。

npx next telemetry status
yarn next telemetry status
pnpm exec next telemetry status
bun next telemetry status

如果您想重新加入该计划,可以重新启用遥测,方法是在项目根目录中运行以下命令:

npx next telemetry enable
yarn next telemetry enable
pnpm exec next telemetry enable
bun next telemetry enable

您也可以通过设置环境变量来选择退出:NEXT_TELEMETRY_DISABLED=1