自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Sentry 官方 JavaScript SDK 簡介與調(diào)試指南

開發(fā) 前端
對于每個主要的 JavaScript 平臺,都有一個特定的高階 SDK,可以在單個包中提供您需要的所有工具。

[[435532]]

源碼倉庫地址

https://github.com/getsentry/sentry-javascript

支持的平臺

對于每個主要的 JavaScript 平臺,都有一個特定的高階 SDK,可以在單個包中提供您需要的所有工具。有關(guān)更多詳細(xì)信息,請參閱這些 SDK 的 README 和說明:

  • @sentry/browser: 瀏覽器的 SDK,包括對基礎(chǔ)主干(GlobalHandlers, TryCatch, Breadcrumbs, LinkedErrors, UserAgent, Dedupe)的集成。
  • @sentry/node: 適用于 Node 的 SDK,包括 Express、Koa、Loopback、Sails 和 Connect 的集成。
  • @sentry/angular: 啟用 Angular 集成的瀏覽器 SDK。
  • @sentry/react: 啟用 React 集成的瀏覽器 SDK。
  • @sentry/ember: 啟用 Ember 集成的瀏覽器 SDK。
  • @sentry/vue: 啟用 Vue 集成的瀏覽器 SDK。
  • @sentry/gatsby: Gatsby 的 SDK。
  • @sentry/nextjs: Next.js 的 SDK。
  • @sentry/integrations: 可用于增強 JS SDK 的可插拔集成。
  • @sentry/electron: 支持原生崩潰的 Electron SDK。
  • @sentry/react-native: 支持原生崩潰的 React Native SDK。
  • @sentry/capacitor:支持原生崩潰的 Capacitor App 和 Ionic 的 SDK。
  • sentry-cordova:支持原生崩潰的 Cordova App 的 SDK。
  • raven-js:舊的穩(wěn)定 JavaScript SDK,我們?nèi)匀恢С植l(fā)布 SDK 的錯誤修復(fù),但所有新功能都將在 @sentry/browser 中實現(xiàn),它是繼任者。
  • raven:舊的穩(wěn)定 Node SDK,與 raven-js 一樣,我們?nèi)匀恢С植l(fā)布 SDK 的錯誤修復(fù),但所有新功能都將在 @sentry/node 中實現(xiàn),它是繼任者。

用于平臺 SDK 開發(fā)的共享軟件包

  • @sentry/tracing: 為性能監(jiān)控/跟蹤提供集成和擴展。
  • @sentry/hub: SDK 的全局狀態(tài)管理。
  • @sentry/minimal: Sentry 支持的最小 SDK
  • @sentry/core: 具有接口、類型定義和基類的所有 JavaScript SDK 的基礎(chǔ)。
  • @sentry/utils: 一組對各種 SDK 有用的輔助程序和實用函數(shù)。
  • @sentry/types: 所有軟件包中使用的類型定義。

開發(fā)調(diào)試

設(shè)置環(huán)境

要運行 test suite 和 code linter,需要 node.js 和 yarn。

  • https://nodejs.org/download
  • https://yarnpkg.com/en/docs/install

sentry-javascript 是一個包含多個軟件包的 monorepo,使用 lerna 管理它們。首先,安裝所有依賴項,使用 lerna 引導(dǎo)工作區(qū),然后執(zhí)行初始構(gòu)建,以便 TypeScript 可以讀取所有鏈接的類型定義。

  1. yarn 
  2.  
  3. yarn lerna bootstrap 
  4.  
  5. yarn build 

這樣,repo 就完全設(shè)置好了,您可以運行所有命令了。

構(gòu)建軟件包

由于我們使用的是 TypeScript,因此您需要將代碼轉(zhuǎn)換為 JavaScript 才能使用它。來自 repo 的頂層,有三個可用命令:

  • yarn build:dev,它運行每個包的 ES5 和 ES6 版本的一次性構(gòu)建。
  • yarn build:dev:filter ,它只在與給定包相關(guān)的項目中運行 yarn build:dev(例如,運行 yarn build:dev:filter @sentry/react 將構(gòu)建 react 包、它的所有依賴項(utils、core、browser 等),以及所有依賴它的包(目前是 gatsby 和 nextjs))。
  • yarn build:dev:watch,在 watch 模式下運行 yarn build:dev(推薦)

添加測試

任何重要的修復(fù)/功能都應(yīng)該包括測試。您會在每個軟件包中找到一個 test 文件夾。

請注意,僅對于 browser 包,如果您將新文件添加到集成測試套件中,您還需要將其添加到shell.js 中的列表中。在所有包中,向現(xiàn)有文件添加測試都可以開箱即用。

運行測試

運行測試與構(gòu)建的工作方式相同 - 在項目根目錄運行 yarn test 將對所有包運行測試,在特定包中運行 yarn test 將為該包運行測試。還有一些命令可以在每個位置運行測試的子集。查看相應(yīng) package.json 的 scripts 條目以了解詳細(xì)信息。

注意:你必須在 yarn test 工作之前運行 yarn build。

調(diào)試測試

如果您在編寫測試時遇到麻煩并需要調(diào)試其中之一,您可以使用 VSCode 的 debugger 來完成。

如果您尚未安裝它,請安裝 Tasks Shell Input 擴展,您可以在側(cè)邊欄的“擴展”選項卡中找到它作為推薦的工作區(qū)擴展之一。

  • 將斷點或 debugger 語句放置在測試或底層代碼中您希望 jest 暫停的任何位置。
  • 打開包含相關(guān)測試的文件,并確保其選項卡處于活動狀態(tài)(以便您可以看到文件的內(nèi)容)。
  • 切換到側(cè)邊欄中的 debugger,然后從下拉列表中選擇 Debug unit tests - just open file。
  • 單擊綠色的 “play” 按鈕以 watch 模式在打開的文件中運行測試。

實戰(zhàn)

測試代碼:

https://github.com/getsentry/sentry-javascript/blob/master/packages/minimal/test/lib/minimal.test.ts

專業(yè)提示:如果您的任何斷點在由多個測試運行的代碼中,并且您運行整個測試文件,您將在不關(guān)心的測試中間一遍又一遍地停留在這些斷點上。為避免這種情況,請將測試的初始 it 或 test 替換為 it.only 或 test.only。這樣,當(dāng)您遇到斷點時,您就會知道您到達(dá)了有問題的測試的一部分。

Linting

與構(gòu)建和測試類似,linting 可以通過調(diào)用 yarn lint 在項目根目錄或單個包中完成。

注意:你必須在 yarn lint 工作之前運行 yarn build。

責(zé)任編輯:武曉燕 來源: 黑客下午茶
相關(guān)推薦

2022-01-21 21:33:03

開發(fā)JavaScript應(yīng)用

2021-12-31 18:35:40

監(jiān)控Sentry開發(fā)

2013-12-26 15:14:38

Android SDK運行調(diào)試

2022-01-02 23:26:08

開發(fā)SDK Sentry

2021-12-25 22:31:55

Sentry 監(jiān)控SDK 開發(fā) 性能監(jiān)控

2022-01-03 22:59:30

開發(fā)SDK數(shù)據(jù)

2022-01-19 19:49:53

Sentry瀏覽器SDK

2022-01-02 06:59:43

SentrySDK 開發(fā)客戶端報告

2024-09-24 13:11:18

2022-01-15 23:33:47

SentryPyCharm配置

2022-01-18 23:26:45

開發(fā)

2022-01-11 20:42:54

開發(fā)Sentry標(biāo)志

2022-01-17 19:34:43

SentryWeb APISentry API

2022-03-11 22:52:29

調(diào)試版本編譯器

2021-06-29 10:35:10

Kubernetes工具Linux

2013-01-16 14:49:38

Android開發(fā)Android SDK核心包

2013-05-17 10:54:37

iOS開發(fā)iOS SDK調(diào)試技巧

2021-12-15 20:06:48

ReactJSSentry開發(fā)者

2021-10-11 19:36:08

監(jiān)控Sentry架構(gòu)

2021-10-09 23:33:55

監(jiān)控
點贊
收藏

51CTO技術(shù)棧公眾號