最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Raygun來自動追蹤AngularJS中的異常

 更新時間:2015年06月23日 09:22:51   投稿:goldensun  
這篇文章主要介紹了使用Raygun來自動追蹤AngularJS中的異常,AngularJS是一款高人氣的JavaScript庫,需要的朋友可以參考下

Angular.js取得的巨大成就之一是實用的異常拋出,因為異常信息經(jīng)常能夠準確的表明你的代碼為什么崩潰了。運行于世界各地的眾多瀏覽器的大型客戶端web應(yīng)用會面臨異常丟失的問題,而捕獲它就有可能修復(fù) bug并贏得用戶。

當處理跨瀏覽器和設(shè)備的問題時,接收這些異常信息是很重要的,因為你的應(yīng)用可能在你的開發(fā)機器上運行得正確可靠,但在你的用戶的瀏覽器上卻是另一番場景。

其解決方案是需要一個自動異常跟蹤服務(wù),而Raygun通過接收你的Angular web應(yīng)用拋出的所有異常但不需要你做任何事,從而簡化了這項工作。它的設(shè)置真的很快--只需要按照以下步驟將Raygun hook到你的應(yīng)用就可以了。

安裝

首先,下載小巧的Raygun4JS腳本,并把它添加到你的項目中。有3個途徑獲得:

通過Bower
 

復(fù)制代碼 代碼如下:
bower install raygun4js

從NuGet獲得——在Visual Studio中,打開包管理器控制臺然后輸入:
 

復(fù)制代碼 代碼如下:
Install-Package raygun4js

手動下載 – 點擊此處下載dev版 或者壓縮過的版本
配置

接下來,引用這個腳本。如果你使用靜態(tài)的HTML,將<script src="js/raygun.js" type="text/javascript"></script>添加到頁面里面或添加到你的模塊加載器中。

最后,在你的Angular主邏輯執(zhí)行之前調(diào)用下面的代碼來設(shè)置Raygun4JS:
 

Raygun.init('YOUR_API_KEY').attach();

你可以為每一個用Raygun創(chuàng)建的app生成一個API key,你可以在你的Raygun dashboard 中訪問他——你有30天免費試用時間來測試它。
在Angular中捕獲異常

至少有兩種方法將未處理的異常注射到Angular.js的模塊中,通過使用decorator 或 factory。這兩種方式會為你提供$exceptionHandler的具體實現(xiàn),我們上面所提到的Raygun4JS會將該實現(xiàn)發(fā)送給Raygun。

使用一個裝飾器

裝飾器模式因其不會覆蓋掉原有的行為,所以很適合用來將行為注入到任意的服務(wù)中,以確保在其它所期望的特性中分離關(guān)注點,它也是記錄日志和處理異常的理想方式. 在Angular.js中它可以使用在 $provide 服務(wù)中,我們將用來實現(xiàn)我們自己的

$exceptionHandler 函數(shù):
 
app.config(function ($provide) {
 $provide.decorator("$exceptionHandler", ['$delegate', function($delegate) {
  return function (exception, cause) {
   Raygun.send(exception);
   $delegate(exception, cause);
  }
 }])
});

$delegate 是異常處理器的實體,我們會調(diào)用它來獲得輸出到控制臺的原始行為.

你也可以按照自己的需要創(chuàng)建足夠多的其它服務(wù):
 

$provide.decorator("$exceptionHandler", ['$delegate', '$log', function($delegate, $log) {
  return function (exception, cause) {
   $log.debug('Sending to Raygun');
   Raygun.send(exception);
   $delegate(exception, cause);
  }
 }])

依賴于所獲取到的自Angular邏輯中拋出的錯誤是什么類型, cause 參數(shù)得以被填充. 如果一個異常發(fā)生在一個工廠或者服務(wù)中,你可能會得到那個參數(shù)可以的范圍, 你可以將其作為自定義數(shù)據(jù),通過替換掉上面的Raygun.send調(diào)用,附帶任何你需要的其它東西,再傳送到Raygun:
 

Raygun.send(exception, { cause: cause });

使用一個工廠

快速的將Raygun放到你的應(yīng)用的異常處理器中的方法就是使用一個工廠, 盡管它會移除原來的控制臺日志,而如果你想要保留此項功能的話,就會需要存儲原來的值并再一次調(diào)用它.
 

app.factory('$exceptionHandler', function () {
 return function (exception) {
  Raygun.send(exception);
 }
});

手動發(fā)送錯誤

Raygun4JS 也歸于了你任意時間很容易的手動跟蹤錯誤的能力:
 

Raygun.send(new Error('my custom error'));

供應(yīng)器上還有一堆其它使用的工具可以利用,包括獨特的用戶跟蹤,版本跟蹤,標簽及其它 – 這里的文檔可以查看 的所有相信信息.

Raygun 甚至可以在你的Angular應(yīng)用中跟蹤jQuery 的Ajax錯誤even tracks jQuery Ajax errors ,而無需你的做任何額外的事情, 因此你將得到開箱即用的全面照顧.
準備好使用Raygun了嗎?

如之前所提及的,有一個 30天免費的無信用卡支付的版本可用, 因此你可以獲取一個來看看你的應(yīng)用是否真的是在為你的用戶運作的. 如果就本文你有任何的疑問,請將它們留在下面的評論中。

相關(guān)文章

  • angular2組件中定時刷新并清除定時器的實例講解

    angular2組件中定時刷新并清除定時器的實例講解

    今天小編就為大家分享一篇angular2組件中定時刷新并清除定時器的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • AngularJS基礎(chǔ) ng-paste 指令簡單示例

    AngularJS基礎(chǔ) ng-paste 指令簡單示例

    本文主要介紹AngularJS ng-paste 指令,這里對ng-paste 指令的基礎(chǔ)資料做了整理,并附有代碼示例,有需要的朋友可以參考下
    2016-08-08
  • AngularJS基礎(chǔ) ng-disabled 指令詳解及簡單示例

    AngularJS基礎(chǔ) ng-disabled 指令詳解及簡單示例

    本文主要介紹AngularJS ng-disabled 指令,這里幫大家整理了ng-disabled指令的基礎(chǔ)指令,并附示例代碼,有需要的小伙伴參考下
    2016-08-08
  • Angular.JS去掉訪問路徑URL中的#號詳解

    Angular.JS去掉訪問路徑URL中的#號詳解

    最近天天都在用AngularJS,各類文檔也都看過好幾遍,但總是些編程上的事找不到優(yōu)雅的解決辦法。今天終于把AngularJS的項目訪問路徑URL里的#號去掉了,這個問題不見得有多難,關(guān)鍵是花多長時間去理解AngularJS框架本身,下面來看看詳細介紹,需要的朋友可以參考下。
    2017-03-03
  • angularjs實現(xiàn)多選框分段全選效果實現(xiàn)

    angularjs實現(xiàn)多選框分段全選效果實現(xiàn)

    這篇文章主要為大家介紹了angularjs實現(xiàn)多選框分段全選效果實現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • SeaJS 與 RequireJS 的差異對比

    SeaJS 與 RequireJS 的差異對比

    這篇文章主要介紹了SeaJS 與 RequireJS 的差異對比,本文主要對CMD規(guī)范和AMD規(guī)范的弊端做了對比,并做出了一個總結(jié),需要的朋友可以參考下
    2014-12-12
  • AngularJS用戶選擇器指令實例分析

    AngularJS用戶選擇器指令實例分析

    這篇文章主要介紹了AngularJS用戶選擇器指令,結(jié)合實例形式分析了angular指令實現(xiàn)選擇器功能的具體操作步驟與相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2016-11-11
  • Angular中使用響應(yīng)式表單的詳細步驟

    Angular中使用響應(yīng)式表單的詳細步驟

    Angular提供了兩種處理表單的方式模板驅(qū)動表單和響應(yīng)式表單(也稱為模型驅(qū)動表單),使用模板驅(qū)動表單時,模板指令被用來構(gòu)建表單的內(nèi)部表示,在本文中,您探討了如何將響應(yīng)式表單應(yīng)用于一個示例 Angular 應(yīng)用程序
    2024-02-02
  • Angular 4 依賴注入學習教程之FactoryProvider的使用(四)

    Angular 4 依賴注入學習教程之FactoryProvider的使用(四)

    這篇文章主要給大家介紹了關(guān)于Angular 4 依賴注入之FactoryProvider使用的相關(guān)資料,文中介紹的非常詳細,對大家學習或者使用Angular4具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-06-06
  • 詳解Angular中延遲加載的原理與使用

    詳解Angular中延遲加載的原理與使用

    Angular 是一個流行的框架,用于構(gòu)建動態(tài)和響應(yīng)式 Web 應(yīng)用程序,在本文中,我們將討論延遲加載以及它如何與 Angular 中的路由一起工作,感興趣的可以跟隨小編一起學習一下
    2023-06-06

最新評論

民县| 民勤县| 德惠市| 绍兴市| 绥江县| 休宁县| 黑河市| 高要市| 邳州市| 新河县| 拜城县| 富宁县| 斗六市| 长宁县| 灵璧县| 松阳县| 盐城市| 固阳县| 江达县| 涟源市| 鄂尔多斯市| 青海省| 武强县| 栖霞市| 铁岭县| 德钦县| 诸城市| 措美县| 天津市| 泰安市| 香格里拉县| 丰城市| 合作市| 邹城市| 达孜县| 清苑县| 饶河县| 衢州市| 遵义县| 望谟县| 中西区|