遙測技術
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.js 允許發送回饋,說明錯誤是否有幫助。此回饋會發送給 Vercel,並用於改進 Next.js 中的錯誤訊息。Next.js 不會自動收集此回饋。開發人員必須點擊豎起大拇指或倒豎大拇指按鈕才能發送相應的回饋。
Next.js 只會收集錯誤代碼和任何其他已自動收集的資訊。錯誤代碼是特定錯誤的唯一識別碼。無法從此代碼重建完整的錯誤訊息,因為錯誤訊息可能包含應用程式特定的資料,例如錯誤發生的頁面。錯誤代碼及其對應訊息的列表可在 vercel/next.js/packages/next/errors.json 取得。
我該如何退出?
您可以在專案根目錄中執行 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
。