跳至內容

遙測

Next.js 會收集關於一般使用情況的完全匿名遙測數據。參與此匿名計畫是可選的,如果您不想分享任何資訊,您可以選擇退出。

為什麼要收集遙測數據?

Next.js 自發布以來已大幅成長,成為開發人員實際應用的 React 框架。在收集遙測數據之前,決定如何改進 Next.js 是一個非常手動的過程。

例如,Vercel 內部測試 許多大型 React 應用程式(包括 Next.js 網站)。此外,我們也積極與社群互動以收集意見回饋。

然而,這種方法只允許我們從一部分使用者收集意見回饋。這部分使用者的需求和使用案例可能與您不同。遙測讓我們能夠準確地評估所有使用者對 Next.js 功能的使用情況、痛點和客製化程度。

這些數據將讓我們更好地為大多數使用者量身打造 Next.js,確保其持續成長、保持實用性,並提供一流的開發人員體驗。此外,這也讓我們能夠驗證對框架所做的改進是否真的提升了所有應用程式的基準。

正在收集哪些資料?

我們會追蹤一般使用資訊,例如 Next.js 外掛程式和建置效能。具體來說,我們會匿名追蹤以下資訊:

  • 所呼叫的指令(`next build`、`next dev` 或 `next 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 來停用遙測功能。